@RequestBody和@RequestParam区别,和用法

@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")

你可能感兴趣的:(java)