起初是这样,指定为 application/json然后传个json对象
- 结果后端无法绑定数据到对象,当把contentType : "application/json"注释了正常
- 原因
- 指定了contentType : "application/json"模式后,data就只能是字符串而且必须是json字符串,contentType : "application/json"不会自动将json字符串转化为对象,需要在后端参数接收借助注解
@RequestBody
- (假如不指定contentType则为默认模式)默认模式"application/x-www-form-urlencoded"支持查询字符串(非json字符串)和对象作为data参数,可以自动将参数绑定到后端参数对象。
- 综上指定了contentType : “application/json”,data应该时json字符串(json.stringfy()),后端加
@RequestBody
;未指定默认模式data可以是json对象,后端不需要注解。 - 这就解释了为啥当把contentType : "application/json"注释了就正常,当然也可以把json对象变为json串再配合注解