[英]Using jax-rs to redirect get request and return response to solve CORS issue?
我需要通过使用angularjs应用程序的ajax请求从Web服务检索一些数据。 由于CORS问题 ,我无法直接执行此操作,例如,您可以看到此问题在请求的资源上不存在“ Access-Control-Allow-Origin”标头
据我所知,唯一的解决方案是从服务器向第三方服务器执行请求,然后将其从服务器返回给客户端,以下方案对此进行了说明: client -> my server -> 3rd party server -> my server -> client
。
最直接的解决方案是使用JAX-RS在客户端和服务器之间进行通信,并使用Apache Http Client库在服务器与第三方服务器之间进行通信,但是我怀疑是否存在仅基于JAX-RS提供给我的工具的解决方案?
好的,我正在使用JAX-RS 2.0,它具有自己的客户端,因此很简单:
@GET
public Response getRedirectedRequest(@QueryParam("query") String query){
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://example.com")
.path("/path/api/")
.queryParam("q", query);
Response response = target.request()
.accept("application/json; charset=utf-8")
.get();
String json = response.readEntity(String.class);
response.close();
return Response.ok(json).build();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.