编程语言
首页 > 编程语言> > Java10中的HttpRequest.BodyProcessor在哪里

Java10中的HttpRequest.BodyProcessor在哪里

作者:互联网

我目前正在Java9〜10中通过this访问HTTP / 2客户端.

Java 9确实具有HttpRequest.BodyProcessor接口,而Java 10没有HttpRequest.BodyProcessor,但是确实具有HttpRequest.BodyPublisher.两个接口都是相似的.

Java为什么更改接口名称?我认为向后兼容性被忽略了.

解决方法:

带有Java 9和10的HttpClient has been a part of an incubator module.因此,人们看到的是更多的原型工作,尽管理想情况下应该不会有太大变化,但不能保证相同.

从保育箱JEP#Incubator Modules

An incubating feature is an API of non-trivial size that is under
development for eventual inclusion in the Java SE Platform, or the
JDK, but is not yet sufficiently proven.

如果您希望使用标准模块,则可以在Java 11中使用它,其名称为java.net.http.[请注意,其标记为Java 11以后的版本,而不是9或10.

如果您已经在Java9 / 10中使用HttpClient,那么The jdk.incubator.httpclient module not found in Java11可以帮助您迁移HttpClient在Java 11中的用法.

稍微偏离主题:如果您可以比较两个JDK中的源代码,您会发现与Java 10和Java 11中的状态相比,BodyPublisher中的方法都有更新.

标签:java-10,java-9,java,http2
来源: https://codeday.me/bug/20191024/1924452.html