@RequestBody和@RequestParam区别:
1: @RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)
@RequestParam用来处理Content-Type: 非 application/x-www-form-urlencoded编码的内容。
2: 在GET请求中,不能使用@RequestBody。
在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody
@RequestParam 使用:
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request) {}
//对传入参数指定为aa,如果前端不传aa参数名,会报错 required=true 表示该参数必须传 required=false 表示该参数可以不传,系统默认赋值null
@RequestParam 中还有一个属性叫做defaultValue 表示默认值 @RequestParam(defaultValue="aaa")