PathVariable
不能为空值该怎么处理?
话不多说,直接上代码。
@GetMapping({"/get/{version}","/get"})
public ResultVO get(@PathVariable(required = false) Integer version) {
return service.get(version);
}
在开发过程中遇到比较特殊的需求,需要通过url的方式进行传值。
但是 @Pathvariable
注解不能为空
于是我们可以通过其他的方式来变通一下,首先想到的是通过 required
参数设置为 false
接口修改如下:
@GetMapping("/get/{version}")
public ResultVO get(@PathVariable(required = false) Integer version) {
return service.get(version);
}
但是,发现一个问题,请求 /get
接口的时候,根本无法请求的到
原来 /get
和 /get/{version}
是两个接口,所以,再次修改,得到如下解决方式
@GetMapping({"/get/{version}","/get"})
public ResultVO get(@PathVariable(required = false) Integer version) {
return service.get(version);
}
当然,还有其他的解决方式:
@GetMapping("/get)
public ResultVO getAll() {
return service.getAll();
}
@GetMapping("/get/{version}")
public ResultVO get(@PathVariable Integer version) {
return service.get(version);
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有