@RequestParam加与不加的区别

1.两种写法,加与不加@RequestParam注解

@RequestMapping("/list")
public String test(int userId) {
  return "list";
}
@RequestMapping("/list")
public String test(@RequestParam int userId) {
  return "list";
}

2.区别:

2.1第一种写法前端的参数名需要和后端控制器的变量名保持一致才能生效。

2.2第一种写法参数为非必传,第二种写法参数为必传。参数名为userId。

2.3第二种写法可以通过@RequestParam(required = false)设置为非必传。因为required值默认是true,所以默认必传。

2.4第二种写法可以通过@RequestParam("userId")或者@RequestParam(value = "userId")指定参数名。

2.5第二种写法可以通过@RequestParam(defaultValue = "0")指定参数默认值

3.用法详情如下:

@RequestMapping("/list")
public String test(@RequestParam(value = "userId", defaultValue = "0", required = false) int userId) {
  return "list";
}

 


版权声明:本文为qq_40436854原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。