我使用Jax-rs 2创建了一个rest webservice。它使用AsyncResponse返回响应。如何将CORS支持添加到其余Web服务?因此,任何人都可以访问它而不会遇到任何跨域问题?
我的样本剩余Web服务如下
@GET
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public void test(@Suspended AsyncResponse asyncResponse){
asyncResponse.resume(Response.ok().build());
}
谢谢!
最佳答案
RestEasy具有CorsFilter
。但是,由于您使用的是Glassfish,因此您很可能会使用Jersey。泽西似乎没有我们可以使用的此类课程。就是说,RestEasy的CorsFilter
实现了ContainterRequestFilter
和ContainerResponseFilter
(注意,这是Jersey 2.x(JAX-RS 2.0)功能)。
See Filters and Interceptors for more information
您还可以查看CorsFilter
here at GrepCode的源代码。您基本上将想要实现类似于该类的东西,然后将其注册为应用程序中的一个实例。