1

我使用 Jax-rs 2 创建了一个休息 Web 服务。它使用 AsyncResponse 返回响应。如何将 CORS 支持添加到我的 REST Web 服务?所以任何人都可以在没有任何跨域问题的情况下访问它?

我的示例休息网络服务如下

@GET
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)

public void test(@Suspended AsyncResponse asyncResponse){
        asyncResponse.resume(Response.ok().build());
}

谢谢!

4

1 回答 1

0

RestEasy 有CorsFilter. 但是由于您使用的是 Glassfish,因此您很可能使用的是 Jersey。泽西岛似乎没有我们可以使用的任何此类。也就是说,CorsFilterRestEasy 实现了ContainterRequestFilterand ContainerResponseFilter(注意,这是 Jersey 2.x (JAX-RS 2.0) 功能)。

您还可以CorsFilter 在 GrepCode 上查看此处的源代码。您基本上希望实现与该类类似的东西,然后将其注册为应用程序的单例。

于 2014-11-22T04:06:24.583 回答