3

如何在 Apache Wink 中应用CORS ?我基本上需要的是为Access-Control-Allow-Origin: *从 Wink 发送的每个响应添加一个标头(我们将在其中替换*允许的来源)。

4

2 回答 2

1

一个可能的解决方案是返回一个javax.ws.rs.core.Response对象。使用javax.ws.rs.core.Response.ResponseBuilder您可以将标头添加到响应中。

更新:

另一种解决方案是在 Wink 之上添加一个 Servlet 过滤器 (javax.servlet.Filter),它将标头添加到所有响应中。

顺便说一句,在 JAX-RS 2 中可以添加过滤器和拦截器。

于 2013-07-31T12:46:13.413 回答
1

迟到的答案,但可能对未来的读者有用。发回响应时使用以下代码:

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;

于 2016-03-29T21:55:25.463 回答