关于@PathVariable 注解传参,参数值为空报错的情况。
原题:
@GetMapping(“/rpc/user/{id}”)
UserDTO getUserInfoById(@PathVariable( “id”) String id);
处理方式:
- 改为RequestParam
@RequestParam(required = false,value = "id")
- 修改参数,使用可选参数类型Optional:
@PathVariable( "id") Optional<String> id
- 使用 @PathVariable 的必需属性
从 Spring 4.3.3 开始,@PathVariable注定义了我们所需的布尔属性,以指示路径变量是否是处理程序方法的必需变量。
@RequestMapping(value = {"/rpc/user", "/rpc/user/{id}"})
public UserDTO getUserInfo(@PathVariable(required = false) String Id) {
- 使用map参数类型
@RequestMapping(value = "/rpc/user/{id}")
public UserDTO getUserInfo(@PathVariable Map<String, String> paramMap) {
String id = paramMap.get("id");