Несколько префиксов для услуг RestEasy - PullRequest
0 голосов
/ 06 декабря 2018

Мне нужно иметь несколько префиксов в моем проекте RestEasy.Для того же самого я определил несколько сервлетов, как показано ниже в web.xml.

<servlet>
    <servlet-name>resteasy-servlet1</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    <init-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/rest1</param-value>
    </init-param>       
    <init-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.test.rs.TokenGenerator</param-value>
    </init-param>
</servlet>

<servlet>
    <servlet-name>resteasy-servlet2</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    <init-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/rest2</param-value>
    </init-param>       
    <init-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.test.rs.ResourceProvider</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>resteasy-servlet1</servlet-name>
    <url-pattern>/rest1/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>resteasy-servlet2</servlet-name>
    <url-pattern>/rest2/*</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>AuthFilter</filter-name>
    <filter-class>com.test.rs.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>AuthFilter</filter-name>
    <url-pattern>/rest2/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>
        org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>

Такой же подход определен в этом сообщении stackoverflow , но у меня его не работаетмой проект еще.Я всегда получаю ошибку 404 Not Found при попытке получить доступ к URL-адресам ниже.Кто-нибудь может выделить то, что мне не хватает в конфигурации?

http://localhost:8080/rstest/rest1/token

http://localhost:8080/rstest/rest2/resource

Корень веб-контекста развернутого проекта:rstest

Мой класс имеет аннотацию @Path, указанную ниже

@Path("/token")
public class TokenGenerator {
...