Java 9 HttpClient还在孵化?

Java 9 HttpClient still in incubation?

HttpClient 的 Javadoc 中看到 -

Incubating Feature. Will be removed in a future release.

而且好像不支持application/x-www-form-urlencoded或者multipart/form-dataPOST。看到这个 post:

HTTP/2 客户端 (JEP 110) is still in incubation for JDK 9. See JDK-8170648:

Standardizing the API will be deferred to a future release. The API will be included in JDK 9 as an incubating feature ( see incubator modules JDK-8169768).

在此 comment of JDK-8042950 您可以找到推迟的一些原因。

关于内容类型支持:您可以设置您喜欢的任何 MIME 类型,但似乎没有任何编码器可以生成特定的 body 格式.换句话说,可以使用 application/x-www-form-urlencodedmultipart/form-data,但您必须自己以正确的格式对 body 进行编码,方法是在链接的答案中实现 BodyProcessor

他们可能会在未来添加更多的 body 处理器(尽管提案页面说 API 应该保持非常小)但现在我可能只是切换到更多 feature-rich 客户端或采用现有库中的 body 编码器以使其与 HTTP/2 客户端一起工作。