我有两种方法@GetMapping和@GetMapping(“ / {id}”)
@RestController("/user"){
public class UserRestController {
@GetMapping
public ResponseData get() {
...........
return responseData;
}
@GetMapping("/{id}")
public ResponseData getUser(@PathParam("id") Long id) {
ResponseData responseData = new ResponseData();
...........
return responseData;
}
当我点击URL http://localhost:8080/user
时,我使用了@GetMapping(“ / {id}”)方法
因为它需要id
为空,我该如何解决这个问题?
答案 0 :(得分:4)
您正在将PathParam
与PathVariable
混在一起。
在您的示例中,我认为您需要的是PathVariable
。此外,由于参数的名称相同:name
,因此可以删除id
字段。
这是更新的代码:
@GetMapping("/{id}")
public ResponseData getUser(@PathVariable Long id) {
...
}
此外,您想要在同一控制器下定义user
映射的是RequestMapping
批注:
@RestController
@RequestMapping("/user")
public class UserRestController {
...
}
答案 1 :(得分:-1)
你可以用这个方法
` @GetMapping("/")
public ResponseData getUser(@RequestParam 长 ID) { ResponseData responseData = new ResponseData();
.......
返回响应数据; }`