- 类型参数:
T- 响应主体类型
public interface HttpResponse<T>
HTTP 响应。
HttpResponse 不是直接创建的,而是作为发送 HttpRequest 的结果返回的。 HttpResponse 在收到响应状态代码和标头时可用,通常在响应正文也已完全收到后。 HttpResponse 在响应主体完全接收之前是否可用取决于发送 HttpRequest 时提供的 BodyHandler 。
此类提供用于访问响应状态代码、标头、响应主体以及与此响应对应的HttpRequest的方法。
以下是将响应作为字符串检索的示例:
HttpResponse<String> response = client
.send(request, BodyHandlers.ofString());
BodyHandlers 类提供了许多常见响应处理程序的实现。或者,可以使用自定义 BodyHandler 实现。
- 自从:
- 11
-
内部类总结
内部类修饰符和类型接口描述static interface响应主体的处理程序。static classBodyHandler的实现实现了各种有用的处理程序,例如将响应主体作为字符串处理,或将响应主体流式传输到文件。static interfaceBodySubscriber消耗响应主体字节并将它们转换为更高级别的 Java 类型。static classBodySubscriber的实现实现了各种有用的订阅者,例如将响应主体字节转换为字符串,或将字节流式传输到文件。static interface推送承诺的处理程序。static interface当最初收到响应时和处理正文之前,提供给BodyHandler的初始响应信息。 -
方法总结
修饰符和类型方法描述body()返回身体。headers()返回接收到的响应头。返回一个Optional,其中包含先前的中间响应(如果收到)。request()返回与此响应对应的HttpRequest。返回包含对此响应有效的SSLSession的Optional。int返回此响应的状态代码。uri()返回从中收到响应的URI。version()返回用于此响应的 HTTP 协议版本。
-
方法详情
-
statusCode
int statusCode()返回此响应的状态代码。- 返回:
- 响应代码
-
request
HttpRequest request()返回与此响应对应的HttpRequest。返回的
HttpRequest可能不是 发送 时提供的发起请求。例如,如果发起请求被重定向,则此方法返回的请求将具有重定向的 URI,这将与发起请求 URI 不同。- 返回:
- 要求
- 参见:
-
previousResponse
Optional <HttpResponse <T >> previousResponse()返回一个Optional,其中包含先前的中间响应(如果收到)。中间响应是由于重定向或身份验证而收到的响应。如果没有收到先前的响应,则返回一个空的Optional。- 返回:
- 包含 HttpResponse 的 Optional,如果有的话。
-
headers
HttpHeaders headers()返回接收到的响应头。- 返回:
- 响应头
-
body
T body()返回身体。根据T的类型,返回的主体可能代表读取后的主体(例如byte[]或String或Path),或者它可能代表读取主体的对象,例如InputStream。如果调用
previousResponse()返回此HttpResponse,则此方法返回null- 返回:
- 身体
-
sslSession
Optional <SSLSession > sslSession()- 返回:
-
一个
Optional包含与响应关联的SSLSession
-
uri
URI uri()返回从中收到响应的URI。如果发生重定向,这可能与请求URI不同。- 返回:
- 响应的 URI
-
version
HttpClient.Version version()返回用于此响应的 HTTP 协议版本。- 返回:
- HTTP协议版本
-