- java.lang.Object
-
- jdk.incubator.http.HttpResponse<T>
-
- 参数类型
-
T
- 响应体类型
public abstract class HttpResponse<T> extends Object
代表对HttpRequest
的回复 。
Incubating Feature.将在以后的版本中删除。当接收到响应状态代码和标题时,通常在响应正文已被接收之后,A
HttpResponse
可用。 这取决于发送请求时提供的响应体处理程序。 在所有情况下,在身体被读取之前调用响应体处理程序。 这使应用程序有机会决定如何处理身体。此类中提供了访问响应头和响应主体的方法。
响应处理程序和处理器
响应机构在两个层面处理。 应用程序代码提供响应处理程序(
HttpResponse.BodyHandler
),它可以检查响应状态代码和头文件,然后返回一个HttpResponse.BodyProcessor
以实际读取(或丢弃)正文并将其转换为一些有用的Java对象类型。 处理程序可以返回预定义的处理器类型之一或定制处理器,或者如果正文被丢弃,则可以调用BodyProcessor.discard()
并返回丢弃响应正文的处理器。 处理器和处理器的静态实现分别在BodyHandler
和BodyProcessor
中提供。 在所有情况下,提供的处理程序功能都是方便的实现,它忽略了提供的状态代码和头文件,并返回相关的预定义的BodyProcessor
。参见
HttpResponse.BodyHandler
例如用法。- 从以下版本开始:
- 9
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static interface
HttpResponse.BodyHandler<T>
响应机构的处理程序。static interface
HttpResponse.BodyProcessor<T>
响应机构的处理器。static interface
HttpResponse.MultiProcessor<U,T>
用于HTTP / 2多响应的响应处理器。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
HttpResponse()
创建一个HttpResponse。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract T
body()
返回身体。abstract HttpRequest
finalRequest()
返回在线上发送的最后HttpRequest
进行交换(可能或可能不等于初始请求)。abstract HttpHeaders
headers()
返回接收到的响应头。abstract HttpRequest
request()
返回发起交易的最初的HttpRequest
。abstract SSLParameters
sslParameters()
返回此响应有效的SSLParameters
。abstract int
statusCode()
返回此响应的状态代码。abstract CompletableFuture<HttpHeaders>
trailers()
返回接收到的响应预告片(如果有),当它们可用时。abstract URI
uri()
返回收到的响应的URI
。abstract HttpClient.Version
version()
返回用于此响应的HTTP协议版本。
-
-
-
方法详细信息
-
statusCode
public abstract int statusCode()
返回此响应的状态代码。- 结果
- 响应代码
-
request
public abstract HttpRequest request()
返回发起交易的初始HttpRequest
。- 结果
- 请求
-
finalRequest
public abstract HttpRequest finalRequest()
返回在电汇上发送的最后的HttpRequest
(可能或可能不等于初始请求)。- 结果
- 请求
-
headers
public abstract HttpHeaders headers()
返回接收到的响应头。- 结果
- 响应头
-
trailers
public abstract CompletableFuture<HttpHeaders> trailers()
返回接收到的响应预告片(如果有),当它们可用时。 对于许多响应处理器类型,这将是HttpResponse
本身可用的同时。 在这种情况下,返回的CompletableFuture
将已经完成。- 结果
- 响应预告片的CompletableFuture(可能为空)
-
body
public abstract T body()
返回身体。 根据T
的类型,返回的身体可能会在阅读后代表身体(例如byte[]
或String
或Path
),或者它可能表示身体被阅读的对象,如InputStream
。- 结果
- 身体
-
sslParameters
public abstract SSLParameters sslParameters()
返回此响应有效的SSLParameters
。 如果这不是HTTPS响应,则返回null
。- 结果
- 与响应关联的SSLParameters
-
uri
public abstract URI uri()
返回收到的响应的URI
。 如果重定向发生,这可能与请求URI
不同。- 结果
- 响应的URI
-
version
public abstract HttpClient.Version version()
返回用于此响应的HTTP协议版本。- 结果
- HTTP协议版本
-
-