我使用 Jax-rs 2 创建了一个 REST Web 服务。它使用 AsyncResponse 返回响应。如何向我的其余 Web 服务添加 CORS 支持?那么任何人都可以访问它而不会出现任何跨域问题吗?
我的示例休息网络服务如下
@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。 Jersey 似乎没有任何我们可以使用的此类。也就是说,RestEasy 的 CorsFilter 实现了 ContainterRequestFilter
和 ContainerResponseFilter
(请注意,这是 Jersey 2.x (JAX-RS 2.0) 功能)。
您还可以查看 CorsFilter
的源代码 here at GrepCode 。您基本上会想要实现与该类类似的东西,然后将其注册为应用程序的单例。
关于java - CORS 支持 Jax-rs 2 AsyncResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073097/