小记:
@RequestParam与@RequestBody的区别
@RequestParam可用于post和get请求,用来处理content-application/x-www-form-urlencoded编码内容(http协议中如果不指定content-type,则默认传递的参数就是content-application/x-www-form-urlencoded类型),可以接收对象,也可以接收单个字段参数。
@RequestParam有三个参数:
value:为接收的参数名,相当于key值,列如,前端传入name=zhangsan,那么就是value的属性,value=“name”。
required:表示是否必须,默认情况下是true必须的。
defaultValue:为请求参数设置默认值,如果前端传入参数没有值,将为参数赋予一个默认的值,同时,设置了默认值的话required设置的true将失效,自动为
false。
@RequestBody主要用于接收前端传入的json字符串数据,位于请求体中,get方式没有请求体,所以@RequestBody接收数据时前端不能使用get提交数据。
@RequestParam和@RequestBody可以同时使用,@RequestBody只能有一个,而@RequestParam可以有多个。