这是一个有点老的问题,但我发现它在谷歌上寻找类似的东西,所以这是我的解决方案,使用 RestEasy 客户端 3.0.16:
我将使用要发送的 Map 对象,但您可以使用 Jackson 提供程序可以转换为 JSON 的任何 JavaBean。
顺便说一句,您需要添加 resteasy-jackson2-provider lib 作为依赖项。
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://server:port/api/service1");
Map<String, Object> data = new HashMap<>();
data.put("field1", "this is a test");
data.put("num_field2", 125);
Response r = target.request().post( Entity.entity(data, MediaType.APPLICATION_JSON));
if (r.getStatus() == 200) {
// Ok
} else {
// Error on request
System.err.println("Error, response: " + r.getStatus() + " - "+ r.getStatusInfo().getReasonPhrase());
}