java - @GetMapping 和 @GetMapping("/{id}") 总是返回 @GetMapping("/{id}")
问题描述
我有两种方法 @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
null,我该如何解决这个问题?
解决方案
您正在PathParam
与PathVariable
.
在您的示例中,我认为您需要的是PathVariable
. 此外,您可以删除该name
字段,因为参数的名称是相同的:id
.
这是更新的代码:
@GetMapping("/{id}")
public ResponseData getUser(@PathVariable Long id) {
...
}
此外,您正在寻找user
在同一控制器下定义映射的是RequestMapping
注释:
@RestController
@RequestMapping("/user")
public class UserRestController {
...
}
推荐阅读
- kubernetes - Openshift - 重命名路线
- sql - SQL ORACLE 使用 htf(超文本函数)创建边框
- python-3.x - 停止轴扩展 matplotlib
- angular - 必须指定路由或分析模块中的错误
- python - 在 python 中的多个文件中使用变量(如 extern)而不分配变量而不是使用输入变量(不使用文件)
- cordova - 为什么 ionic-native/contacts 插件在尝试在 android 8 上保存联系人时会导致应用崩溃?
- junit - 如何从junit5中的内部嵌套测试访问父变量
- javascript - 在异步代码的 for 循环完成后,如何解决这个承诺?
- javascript - 获取选项和选择未从 JSON 中定义
- ios - 使用openssl在C中使用PEM证书验证DER格式的PKCS7