@RequestBody
作用:
此注解注释的参数会被绑定到请求正文,会将对应的参数值自动匹配到注释的参数上
如果没有此请求中没有此参数,服务器不会处理这个请求,即常见的400 bad request
此注解忽略get请求,即使get 请求带上注解的参数依然是400 错误
作用范围:只能作用在方法参数上
作用时间:程序运行时
属性:required 默认为true,即请求时这个参数必须存在,如果设为false,请求时被注释的参数不是必须的,不会发生400错误
@RequestParam
介绍:
作用:和requestBody相类似,不过requestBody 必须是post请求这种有请求体的,而不能是get请求,
requestParam 则不必要求有请求体body
作用范围:只能作用在方法的参数上
作用时间:程序运行时
属性:
1.属性:name
作用:要绑定到的请求参数的名称。
2.属性:value
作用: 和name 一样,和name 互为别名,通过@AliasFor 注解
3.属性:required
指示请求中是否必须有该参数,默认为true,如果没有返回400错误,
可设置为false,则可不必强制传递被注解参数
4.属性;defaultValue
作用:当请求参数为空值或者未提供(当required为false 时,绑定参数不是必须参数,参数可能为提供,或其他情况出现参数为空的时候),
则绑定参数的默认值就为defaultValue的值,defaultValue 的默认值为ValueConstants.DEFAULT_NONE
(此值意思是定义无默认值的值,此值提供的目的就是不会永远不会匹配用户声明的值),
即如果参数不提供,则参数值为null,参数为空,则参数值为空