遇到如下代码
@GetMapping
public Student queryList(@RequestParam(required = false,defaultValue = 1) int stuNum,
@RequestParam(required = false,defaultValue = 10) int stuAge,
@RequestParam(required = false) String stuName){
@RequestParam(value = “key”,required = false)String key,
value = “key”,表示前端对传入参数指定为key,如果前端不传key参数名,会报错 。required = false表示该参数可以不传,required在一个请求中默认值是为true。
@RequestParam(value=“username”,required=true,defaultValue=“admin”) defaultValue默认值,如果传输参数没有匹配上则使用默认值,若匹配上则使用传输过来的内容
注意:如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。
于是上诉代码解释为
@RequestParam(required = false,defaultValue = 1) int stuNum
请求中的参数为stuName,不传参数时默认值为1。
参考文章:
https://blog.csdn.net/wangyunzhao007/article/details/105477369
https://blog.csdn.net/weixin_44137201/article/details/108577399