如何使用 Apache http 客户端的 URIBuilder 在 HTTP 请求中发送正文?

How can I send a body in a HTTP request using Apache http client's URIBuilder?

我知道我可以使用 setParameter 方法添加 http 参数,但是如何使用 URIBuilder class 将正文传递给 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(或任何其他 class)为以下卷曲构建 URL:

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

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