SpringMVC @RequestParam获取请求参数

1. @RequestParam

默认情况下,请求参数与形参名对应,就能实现数据绑定

1
2
3
4
// 请求URL: /user?username=123
@PostMapping("/user")
public void saveUser(String username) {
}

如果请求参数与形参不对应,又想获取对应的值,需要使用@RequestParam

1
2
3
4
// 请求URL: /user?uname=123
@PostMapping("/user")
public void saveUser(@RequestParam("uname") String username) {
}

1.1. required属性

默认情况下,required=true,即请求必须传入指定参数,如果没有,则返回400状态码

1
2
3
4
// 请求URL: /user?aa=123,返回400
@PostMapping("/user")
public void saveUser(@RequestParam("uname") String username) {
}

此时可以设置required=false,如果获取不到参数,值就为null

1
2
3
4
@PostMapping("/user")
public void saveUser(@RequestParam(value="uname", required=false) String username) {
System.out.println(username == null);
}

1.2. defaultValue属性

如果获取不到值,则设置为默认值

1
2
3
4
5
6
@PostMapping("/user")
public void saveUser(@RequestParam(defaultValue="1") Integer userId,
@RequestParam(defaultValue="jack") String username) {
System.out.println(userId);
System.out.println(username);
}

panchaoxin wechat
关注我的公众号
支持一下