У меня есть две отдельные части REST-сервисов в одном приложении. Скажем, главная услуга "люди" и вторичная "управленческая" услуга. Я хочу показать их на разных путях на сервере. Я использую JAX-RS, RESTEasy и Spring.
Пример:
@Path("/people")
public interface PeopleService {
// Stuff
}
@Path("/management")
public interface ManagementService {
// Stuff
}
В web.xml
В настоящее время у меня есть следующая настройка:
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<listener>
<listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/public</param-value>
</context-param>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/public/*</url-pattern>
</servlet-mapping>
Реализации PeopleService
и ManagementService
- это просто Spring beans.
Выше web.xml
конфигурация выставляет их как на /public
(поэтому имеет /public/people
и /public/management
соответственно).
Я хочу выполнить PeopleService
на /public
, чтобы полный путь стал /public/people
и вывел ManagementService
на /internal
, так что его полный путь станет /internal/management
.
К сожалению, я не могу изменить значение аннотации @Path
.
Как мне это сделать?