使用@RequestParam设置默认可以传空值

时间:2021-09-03 04:08:02

@RequestParam设置默认可以传空值

设置如下

?
1
@RequestParam(value="CbqkJson[]",required=false)String[] CbqkJson

如果不设置空值,是默认必须传值的。有时候没值,前台也无法传个空的值过来时,就会出现无法进方法的情况。

注:参数名称必须与value里面的完全一样,包括那个[]。如果前台用的框架传数组没有那个[],则可以取消掉[]改成"CbqkJson"

参数类型则是以后面定义的类型为主的,如果参数类型不是String[]而是String,那么value里面不管你写什么,接收的都只会是一个字符串

使用RequestParam遇到的一些坑(总结)

@RequestParam有三个常用的注解

  • value:表示前端传到后端时,变量的名称。(例如:前端传到后端的参数:userName="Tom",那么@RequestParam(value = "userName") String xxx)
  • required:boolean类型,值为true/false。需要特别注意:required参数的意思其实更接近于在前端传递到后端的参数中,是否包含这个参数。什么意思呢?比如@RequestParam(value = "userName", required = true) String xxx),你传userName=""是可以通过验证的,即可以required = true并不杜绝传递空值,只是验证传递的参数中是否含有userName。所以检验参数的合法性一般还需要自行处理。
  • defaultValue:为参数赋一个默认值。 需要特别注意:如果设置了defaultValue,required设置将会失效,所以如果设置了defaultValue,就没必要设置required了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/cxy20170309/article/details/78281361