1

我知道我可以使用setParameter方法添加http参数,但是如何使用URIBuilder类将身体传递给http请求?如何使用Apache HTTP客户端的URIBuilder在HTTP请求中发送主体?

例如,这

URI uri = new URIBuilder().setScheme("http") 
       .setHost("localhost:9091/test").setParameter("a", "1") 
       .setParameter("b", "2").build(); 

是等效于以下卷曲请求:

curl -X POST http://localhost:9091/test\?a\=1\&b\=2

但如何构建使用URIBuilder(或任何其它类),用于下面的一个URL卷曲:

curl -X POST http://localhost:9091/test -d '{"a":1,"b":2}'

回答

2
HttpUriRequest request = RequestBuilder.create("POST") 
    .setUri("http://localhost:9091/test") 
    .setEntity(new StringEntity("{\"a\":1,\"b\":2}", ContentType.APPLICATION_JSON)) 
    .build(); 
相关问题