使用@RequestParam设置默认可以传空值
@RequestParam设置默认可以传空值
设置如下
@RequestParam(value="https://www.it610.com/article/CbqkJson[]",required=false)String[] CbqkJson
如果不设置空值,是默认必须传值的。有时候没值,前台也无法传个空的值过来时,就会出现无法进方法的情况。
注:参数名称必须与value里面的完全一样,包括那个[]。如果前台用的框架传数组没有那个[],则可以取消掉[]改成"CbqkJson"
参数类型则是以后面定义的类型为主的,如果参数类型不是String[]而是String,那么value里面不管你写什么,接收的都只会是一个字符串
使用RequestParam遇到的一些坑(总结) @RequestParam有三个常用的注解
value
:表示前端传到后端时,变量的名称。(例如:前端传到后端的参数:userName="Tom",那么@RequestParam(value = "https://www.it610.com/article/userName") String xxx)required
:boolean类型,值为true/false。需要特别注意:required参数的意思其实更接近于在前端传递到后端的参数中,是否包含这个参数。什么意思呢?比如@RequestParam(value = "https://www.it610.com/article/userName", required = true) String xxx),你传userName=""是可以通过验证的,即可以required = true并不杜绝传递空值,只是验证传递的参数中是否含有userName。所以检验参数的合法性一般还需要自行处理。defaultValue
:为参数赋一个默认值。 需要特别注意:如果设置了defaultValue,required设置将会失效,所以如果设置了defaultValue,就没必要设置required了。
推荐阅读
- 第6.2章(设置属性)
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用