繁体   English   中英

使用jax-rs重定向获取请求并返回响应以解决CORS问题?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM