我如何使用JAX-RS客户端发送GET请求并附带有效负载?
我如何使用JAX-RS客户端发送GET请求并附带有效负载?
这个问题已有答案:
我知道GET请求不应该有请求体,但这个调用是由其他人开发的,现在我无法更改它。我想要调用一个GET方法并传递负载(JSON请求体)的API。我可以传递路径参数调用GET方法,但不能传递负载。我没有找到发送GET请求请求体的选项。
这是我正在进行的GET调用。
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,我可以像下面所示发送负载。
Client client = ClientBuilder.newClient(); String target = "http://" + service.getHost() + ":" + service.getPort() + PROFILES_URI; Response response = client .target(target) .request(MediaType.APPLICATION_JSON) .post(Entity.entity(profileIds, MediaType.APPLICATION_JSON));
我应该如何通过GET调用发送负载?
参考:http://www.baeldung.com/jersey-jax-rs-client
admin 更改状态以发布 2023年5月24日