文章目录
有人说,这么简单个注解还用说吗?
额,这确实是个简单的注解。
设置username为必填项,代码怎么写?
那还不简单,加required=true啊:
test400(@RequestParam(value = "username",required=true) String username)
这样写对吗?
当然是对的,但是不够简练 。因为required的默认值就是true,required=true可以去掉。
defaultValue的作用是什么
设置默认值。
这个这么简单,我一开始还理解错了,以为是校验不通过后的提示message,汗!被参数校验搞的太头疼了。
注:设置了defaultValue之后,required=true失效,因为总是有默认值。
defaultValue可以设置为null吗?
不可以,因为会报错:Attribute value must be constant
@RequestParam可以自定义提示语吗
自带的提示语:
Required String parameter 'username' is not present。
用户肯定看不懂的,他们希望的提示语:
用户名是必填项
别处心裁自创了个:
test400(
@Valid
@NotEmpty(message="用户名不能为空")
@RequestParam(value = "username",required=false) String username)
发现然并卵,黑了。
如果一定要自定义提示的话,可以设置成为required=false,然后自己用代码校验,这样虽然不优雅,至少完成了功能。
@RequestParam的required默认就是true,所以不用再写一遍了
代码:
void method(
@RequestParam(value = "user_account") String userAccount,
@RequestParam(value = "password",required = true) String password // 这个required=true可以不写
){}
一直是写true的,代码评审被人点出来,尴尬,所以做技术还是细致点。
@RequestHeader也是一样的
略
本文介绍了@RequestParam注解的基本用法,包括如何设置必填项、默认值及自定义提示语等内容,并探讨了defaultValue与required属性之间的关系。

1361

被折叠的 条评论
为什么被折叠?



