在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