这是一个有点老问题,但我发现它在寻找在谷歌类似的东西,所以这是我的解决方案,使用RestEasy的客户端3.0.16:
我将用它来发送一个Map对象,但你可以使用Jackson provider可以转换为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());
}
谢谢。我多次去过那个网站,但我更感兴趣的是通过POST发送信息,而不是我在回复中。 – user1325194
这是*发送。你需要的唯一区别是它调用'request()。get()'而不是'request()。buildPost(...)'。 'buildPost'的javadoc在这里:http://docs.jboss.org/resteasy/docs/3.0-beta-1/javadocs/javax/ws/rs/client/Invocation.Builder.html#buildPost(javax.ws .rs.client.Entity) –