如何为所有JAX-RS响应添加相同的标头/ cookie?

时间:2011-11-08 12:12:31

标签: java jersey jax-rs

我想为应用程序中生成的所有JAX-RS响应添加cookie。我怎样才能做到这一点?我不使用Response类。

3 个答案:

答案 0 :(得分:0)

你可以使用拦截器:http://cxf.apache.org/docs/jax-rs.html#JAX-RS-Filters%2CInterceptorsandInvokers

如果没有现成的解决方案,可能需要编写自己的(从一些现有的默认输出拦截器扩展)

答案 1 :(得分:0)

您可以使用HTTPFilter将cookie值添加到您的请求中。如果不是那样,那么你可以掌握方法中的上下文并手动处理cookie处理

public Response updateCustomer(@Context HttpHeaders h, Customer c) {
   ...
}

答案 2 :(得分:0)

泽西岛有一个容器过滤器的概念,您可以使用它。在这种特殊情况下,您可以实现一个ContainerResponseFilter,将cookie添加到标头中。请参阅此处有关如何创建和注册容器过滤器的文档:http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/container/filter/package-summary.html