How do I send payload with GET call using JAX-RS client?
本问题已经有最佳答案,请猛点这里访问。
我知道GET呼叫不应该有身体,但呼叫是由其他人开发的,我现在无法改变它。 我想使用一个API,它是GET方法并采用有效负载(json体)。 我可以使用GET方法传递路径参数而不是有效负载。 我没有看到为GET调用发送有效负载的选项。
这是我正在做的GET电话。
1 2 3 4 5 6 7 8 9 10 11 12 13 | import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; Client client = ClientBuilder.newClient(); String targetUri ="http://" + service.getHost() +":" + service.getPort() + PROFILES_URI; Response response = client .target(target) .path(profileIds.get(0)) .request(MediaType.APPLICATION_JSON) .get(); |
如果方法是PUT或POST,我可以发送有效负载,如下所示。
1 2 3 4 5 6 |
如何使用GET调用发送有效负载?
参考:http://www.baeldung.com/jersey-jax-rs-client
I am not developing a rest call here
实际上你是,因为
话虽如此,您可能需要构建自己的客户端,允许您在GET请求中发送有效负载或找到具有此类功能的现有Web服务客户端。
在GET请求中发送正文的正确性实际上是本Q& A中讨论过的另一个主题:带请求正文的HTTP GET