【发布时间】:2013-07-30 12:28:03
【问题描述】:
如何在 Apache Wink 中应用 CORS?我基本上需要的是在 Wink 发送的每个响应中添加一个 Access-Control-Allow-Origin: * 标头(我们将替换 * 为允许的来源)。
【问题讨论】:
标签: http-headers response cors access-control apache-wink
如何在 Apache Wink 中应用 CORS?我基本上需要的是在 Wink 发送的每个响应中添加一个 Access-Control-Allow-Origin: * 标头(我们将替换 * 为允许的来源)。
【问题讨论】:
标签: http-headers response cors access-control apache-wink
一个可能的解决方案是返回一个javax.ws.rs.core.Response 对象。使用javax.ws.rs.core.Response.ResponseBuilder,您可以在响应中添加标头。
更新:
另一种解决方案是在 Wink 之上添加一个 Servlet 过滤器 (javax.servlet.Filter),它将标头添加到所有响应中。
顺便说一句,在 JAX-RS 2 中可以添加过滤器和拦截器。
【讨论】:
答案较晚,但可能对未来的读者有用。发回响应时使用以下代码:
Response
.status(200)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization")
.header("Access-Control-Allow-Credentials", "true")
.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD")
.header("Access-Control-Max-Age", "1209600")
.entity(yourJsonResponse)
.build();
响应类型为:javax.ws.rs.core.Response;
【讨论】: