如何使用Apache http客户端的URIBuilder发送HTTP请求主体?

5

我知道可以使用setParameter方法添加HTTP参数,但是如何使用URIBuilder类将请求主体传递到HTTP请求中?

例如,这个:

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

与以下curl请求等效:

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

但是我如何使用URIBuilder(或任何其他类)构建以下curl的URL:

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

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接