Sha*_*man 5 java rest web-services resteasy http-headers
我创建了一个RestEASY拦截器,允许我在webservice调用完成后在HTTP响应上设置标头值.我的代码看起来像这样......
@Provider
@ServerInterceptor
@Precedence("HEADER_DECORATORS")
public class MyHeaderInterceptor implements
MessageBodyWriterInterceptor {
@Override
public void write(MessageBodyWriterContext context) throws IOException,
WebApplicationException {
....do stuff here....
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我调用我的服务时,永远不会调用拦截器.我看到webservice调用成功完成,但我的拦截器中的代码都没有被执行.除此之外我还需要注册我的拦截器吗?是否必须在其他任何地方宣布?是否需要包含任何特殊的web.xml参数?
您必须在web.xml的resteasy.providers context-param中列出拦截器.向Interceptor类添加注释是不够的.
<context-param>
<param-name>resteasy.providers</param-name>
<param-value>org.resteasy.test.ejb.exception.FooExceptionMapper</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7139 次 |
| 最近记录: |