我想为 JAX-RS 客户端实现一个支持 HTTP/1.1 和 HTTP/2 的 JAX-RS 客户端。
如果服务器支持带有 HTTP/2 的 ALPN,则使用 HTTP/2,如果服务器不提供任何信息,则使用 HTTP/1.1。
我已经阅读了一些关于 ALPN 的文章,这似乎是可能的,但我没有找到任何同时支持这些协议(protocol)的东西。我没有设法将它们连接在一起。
我目前正在使用 Jetty HTTP/1.1 transport connector for Jersey和 custom implementation for HTTP/2 transport connector .
最佳答案
Java 11 提供的 Java HTTP 客户端支持 HTTP/1.1 和 HTTP/2(参见 Introduction to the Java HTTP Client)。
我已经使用它构建了一个连接器 Jersey Connector using java.net.http.HttpClient
.
您可以使用它添加以下依赖项。
<dependency>
<groupId>com.github.nhenneaux.jersey.connector.httpclient</groupId>
<artifactId>jersey-httpclient-connector</artifactId>
<version>0.2.2</version>
</dependency>
关于java - 通过 JAX-RS 客户端支持 HTTP/1.1 和 HTTP/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42348041/