У меня есть несколько конечных точек REST в моем приложении Spring Boot.В настоящее время мы используем JAX-RS / Apache CXF (используя аннотацию javax.ws.rs.Path в наших классах конечных точек Facade REST) и в настоящее время осуществляем переход на 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, мы смогли достичь этого довольно элегантным способом, без необходимости повторять «/ api / domain1 /» или «/ api / domain2 /» во всех аннотациях @Path. Мы настроили несколько «jaxrs-server»элементы в определенной конфигурации CXF следующим образом:
<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"),
и т. д .?
Не найдено каких-либо ресурсов, указывающих, что это как-то возможно сВесной пока что, может быть, это не возможно, но было бы неплохо, если бы кто-нибудь взломал, как это сделать: -)
Заранее спасибо, всем!