java - 在控制器级别使用 @RequestMapping 和动态 URL
问题描述
我一直在通过 Stack Overflow 和 Google 进行大量研究,我发现最接近的是类似这篇文章的内容,但它仍然没有回答我的问题。@RequestMapping 的文档没有说明在控制器级别使用动态 URL 的可能性,所以我想知道下面的代码是否可行:
@RequestMapping("/something/{somethingsId}")
public class ExampleController{
//Some methods mapping to some endpoints that start with /something/{somethingsId}
@GetMapping("/getOtherThing")
public ResponseEntity<> getOtherThing(@PathVariable("somethingsId")String somethingsId){
//Do something with somethingsId
}
}
这只是我打算实现的示例代码。我想这样做是为了将一些功能分离到不同的控制器中,这些控制器需要这个 somethingId 才能工作,但我不知道我想要的是否可行,或者我是否必须满足于在每种方法中重复相同的事情控制器获取“somethingsId”路径变量。
预先感谢您的回答。
解决方案
是的,你可以实现它,按照我提到的相同方式
@Controller
@RequestMapping("/owners/{ownerId}")
public class Test {
@RequestMapping("/pets/{petId}")
public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {
System.out.println("ownerId "+ownerId+" petId "+petId);
}
}
推荐阅读
- python - QQmlApplicationEngine 加载组件失败,无法为模块加载插件“QtQuick, qtquick2plugin.dll: Thespecifiedmodulecould not be found
- amazon-web-services - aws elastcisearch 身份验证错误并显示 403
- sortablejs - 在 Vue.Draggable 和 Sortablejs 中设置 .sortable-drag 元素的样式
- go - 有没有办法使用反射来识别 Go 中的类型关系?
- c++ - 从 std::any 序列化的通用函数
- vue.js - Noob:在 vue 组件的插槽中修改(剥离)html
- docker - 是否可以加入具有不同操作系统的覆盖网络?
- azure-data-factory-2 - 数据工厂 Power Query DFExecutorUserError UnsafeProjection$
- frontend - 在cypress中找到一个找不到的元素点击
- sql - oracle 空间:ANYINTERACT 与 CONTAINS