gpt4 book ai didi

java - RestEASY 拦截器未被调用

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:46 25 4
gpt4 key购买 nike

我创建了一个 RestEASY 拦截器,允许我在我的网络服务调用完成后设置 HTTP 响应的 header 值。我的代码看起来像这样......

@Provider
@ServerInterceptor
@Precedence("HEADER_DECORATORS")
public class MyHeaderInterceptor implements
MessageBodyWriterInterceptor {

@Override
public void write(MessageBodyWriterContext context) throws IOException,
WebApplicationException {

....do stuff here....
}
}

然而,当我调用我的服务时,拦截器从未被调用。我看到 web 服务调用成功完成,但我的拦截器中的代码都没有被执行。除此之外,我还需要做些什么来注册我的拦截器吗?是否必须在其他任何地方声明?是否需要包含任何特殊的 web.xml 参数?

最佳答案

您必须在 web.xml 的 resteasy.providers 上下文参数中列出拦截器。向拦截器类添加注解是不够的。

<context-param>
<param-name>resteasy.providers</param-name>
<param-value>org.resteasy.test.ejb.exception.FooExceptionMapper</param-value>
</context-param>

关于java - RestEASY 拦截器未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com