@RequestBody
- @RequestBody一般用于post方法,因为post的数据都在包含在请求体中的,正如注解的名字含有"body"身体的意思。
- 在@RequestBody中使用的json格式的数据,不能解析form-data的数据。
- @RequestBody只能有一个
后台接收举例
@PostMapping("/addcustomer")
public Result addCustomer(@RequestBody String jsondata){
CustomerInfo customerInfo = JSON.parseObject(jsondata,CustomerInfo.class);
return customerInfoService.addCustomer(customerInfo);
}
@RequestParam
- @RequestParam一般用于get方法,数据在链接的请求头中,正如注解的名字含有"param"参数的意思。
- @RequestParam中一般用于默认格式以及form-data格式的数据的接收
- @RequestParam可以有多个,为多个属性设置@RequestParam
POST请求的常用方式
1、application/x-www-form-urlencoded
浏览器原生的表单,值为urlencoded之后的 key1=value1&key2=value2…
2、multipart/form-data
浏览器原生的文件表单,用于传输文件
3、application/json
常用的请求头格式,值为json串 {“key1”:“value1”,“key2”:“value2”}
@requestbody的接收
1、application/x-www-form-urlencoded
@requestbody能解析,但springmvc会进行解析,所以通常不用@requestbody。
2、multipart/form-data
@requestbody不能解析
3、application/json,application/xml等
@requestbody能解析,springmvc不会进行解析,所以必须要加@requestbody注解
|