【发布时间】:2014-11-18 02:16:04
【问题描述】:
在 Jersey 1 中,您可以创建容器响应过滤器并访问响应:
public ContainerResponse filter(ContainerRequest request, ContainerResponse response)
{
Response r = response.getResponse();
// Now I have access to Reponse.getMetadata(), etc.
}
但在 Jersey 2 中,ContainerResponseFilter 只给我响应上下文:
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException
{
// responseContext gives me the entity, but I want the JAX-RS Response object that my resources created
}
ContainerResponseContext 的实现是 ContainerResponse,它需要一个 JAX-RS Response 对象来构建。那么为什么我不能从过滤器中访问它呢?我错过了什么吗?
我的问题是我的资源都构建响应对象并将元数据附加到它们,我想要一个可以检查这些元数据的响应过滤器。如果无法访问原始响应,这似乎是不可能的。
【问题讨论】:
标签: java jersey jax-rs jersey-2.0