2

我有一个简单的 RESTEasy 应用程序,方法如下:

@POST
@Path("/stuff")
@Produces({"application/json", "application/xml"})
public MyObject doStuff(MultivaluedMap<String, String> String formParams) {
    // do stuff
}

我想拦截进来的消息,但不知何故我的拦截器没有触发。这里是:

@Provider
@ServerInterceptor
@Precedence("SECURITY")
public class JAXRSInterceptor implements MessageBodyReaderInterceptor {

    public Object read(MessageBodyReaderContext context) throws IOException, WebApplicationException {
        //do stuff

        return context.proceed();
    }
}

这是我的 RESTEasy 依赖项:

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxrs</artifactId>
    <version>2.3.4.Final</version>
</dependency>

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxb-provider</artifactId>
    <version>2.3.4.Final</version>
</dependency>

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>2.3.4.Final</version>
</dependency>

这是 web.xml 的一部分:

<web-app>
    <display-name>My frontend</display-name>

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

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

    <context-param>
        <param-name>resteasy.use.builtin.providers</param-name>
        <param-value>true</param-value>
    </context-param>

    <servlet>
        <servlet-name>Frontend</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Frontend</servlet-name>
        <url-pattern>/api/*</url-pattern>
    </servlet-mapping>

    ...

REST 服务运行良好,而且我还有一个ExceptionMapper可以正常工作。

拦截器仍然不起作用。我已经尝试过 Tomcat 6 和 7。我做错了什么?

我做了一个简单的例子来演示https://github.com/henrik242/resteasy-interceptor-demo上的问题。在 Tomcat 下构建和部署,并访问http://localhost:8080/resteasy-interceptor-demo. 运行测试#1、#2 和#3。

编辑:这看起来像一个错误。我已将其归档为https://issues.jboss.org/browse/RESTEASY-797

4

0 回答 0