【发布时间】:2018-11-04 17:34:53
【问题描述】:
我的 Spring Boot 应用程序中有几个 REST 端点。 我们目前正在使用 JAX-RS / Apache CXF(在我们的 Facade REST 端点类中使用 javax.ws.rs.Path 注释)并且目前正在迁移到 Spring REST (MVC)。 由于端点类数量众多,我们的结构如下:
com.example.domain1.Facade1.java - @Path("facade1path)
com.example.domain1.Facade2.java - @Path("facade2path)
... (much more "Facade" classes in com.example.domain1 package)
com.example.domain2.Facade3.java - @Path("facade3path)
com.example.domain2.Facade4.java - @Path("facade4path)
... (much more "Facade" classes in com.example.domain2 package)
我们以路径设置的方式配置应用程序:
"/api/domain1/facade1path" -> Facade1.java
"/api/domain1/facade2path" -> Facade2.java
"/api/domain2/facade3path" -> Facade3.java
"/api/domain2/facade4path" -> Facade4.java
使用旧的 JAX-RS / CXF 配置,我们能够以非常优雅的方式实现这一点,而无需在所有 @Path 注释中重复“/api/domain1/”或“/api/domain2/”。 我们以这种方式在特定的 CXF 配置中设置了多个“jaxrs-server”元素:
<jaxrs:server id="Domain1Server" address="/api/domain1" basePackages="com.example.domain1" />
<jaxrs:server id="Domain2Server" address="/api/domain2" basePackages="com.example.domain2" />
它有效:-)
有什么方法可以实现与 Spring REST / MVC 类似的东西,而不必在多个控制器类的注释中重复“api/domain1”或“api/domain2”-
@RequestMapping("api/domain1/facade1path"), @RequestMapping("api/domain1/facade2path"), 等等?
到目前为止,还没有找到任何资源表明 Spring 可以通过某种方式实现这一点,也许这是不可能的,但如果有一些 hack 如何做到这一点,那就太好了 :-)
提前谢谢大家!
【问题讨论】:
-
stackoverflow.com/questions/38212691/…希望这个链接对你有帮助。
-
[希望这个链接对你有帮助。][1] [1]:stackoverflow.com/questions/38212691/…
标签: java spring rest spring-mvc