java - CORS 支持 Jax-rs 2 AsyncResponse?

标签 java rest glassfish jax-rs glassfish-2.x

我使用 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 实现了 ContainterRequestFilterContainerResponseFilter (请注意,这是 Jersey 2.x (JAX-RS 2.0) 功能)。

您还可以查看 CorsFilter 的源代码 here at GrepCode 。您基本上会想要实现与该类类似的东西,然后将其注册为应用程序的单例。

关于java - CORS 支持 Jax-rs 2 AsyncResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073097/

相关文章:

java - RequestDispatcher 在 Tomcat 实例之间转发

java - java子类是否使用相同的父类(super class)字段对象

ruby-on-rails - Ruby/Rails - 通过 ActiveResource 使用 Web 服务

java - 可信证书失效

java - Glassfish部署错误 "Archive type of MyProject.jar was not recognized"

java - 如何使用 GlassFish 自动部署 war 文件——来自 "Core JavaServerFaces",David Geary、Cay S. Horstmann

Java:Lucene 索引大小为 0kb 的空 _0.fdt 和 _0.fdx 文件

java - 如何创建一个用户闲置5分钟后弹出的对话框? ( java )

java - 与 Jersey 的意外 REST 映射

node.js - 寻找 Mongoose 更新一的最佳方法