【六袆-Spring】Spring @RequestParam批注的解释

1.设置指定请求参数名称

 

在前面的示例中,变量名称和参数名称相同。

有时候,我们希望它们有所不同。或者,如果我们不使用Spring Boot,则可能需要进行特殊的编译时配置,否则参数名称实际上将不在字节码中。

但是很好的是,我们可以使用name属性配置  @RequestParam名称:

1
2
3
4
5
@PostMapping("/api/foos")
@ResponseBody
public String addFoo(@RequestParam(name = "id") String fooId, @RequestParam String name) {
    return "ID: " + fooId + " Name: " + name;
}

我们还可以执行  @RequestParam(value =“ id”)或仅执行@RequestParam(“ id”)。


2.设置可选的请求参数

 

 默认情况下,需要使用@RequestParam注释的方法参数  。

这意味着,如果请求中不存在该参数,则会收到错误消息:

1
2
3
4
GET /api/foos HTTP/1.1
-----
400 Bad Request
Required String parameter 'id' is not present

但是,我们可以将@RequestParam配置为可选,并具有必填 属性:

 
1
2
3
4
5
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam(required = false) String id) {
    return "ID: " + id;
}

在这种情况下,两者:

1
2
3
http://localhost:8080/api/foos?id=abc
----
ID: abc

1
2
3
http://localhost:8080/api/foos
----
ID: null

将正确调用该方法。

如果未指定参数,则方法参数绑定为null

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值