在ContainerResponseFilter中获得响应(JAX-RS 2)

我试图将此CORSfilter移植到JAX-RS 2。

但是,我没有看到如何从ContainerResponseContext获取Response对象(如在旧代码中),我在ContainerResponseFilter的重写方法中传递。

如果有一种更优雅的方式来使用JAX-RS 2进行CORS,那当然是首选。 提前致谢。

可以直接访问响应作为 ContainerResponseContext

 @Provider public class ResponseCorsFilter implements ContainerResponseFilter{ @Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { responseContext.getHeaders() .putSingle("Access-Control-Allow-Origin","*"); responseContext.getHeaders() .putSingle("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); List reqHead=requestContext.getHeaders() .get("Access-Control-Request-Headers"); if(null != reqHead){ responseContext.getHeaders() .put("Access-Control-Allow-Headers", new ArrayList(reqHead)); } } }