软件包  jdk.incubator.http

Class HttpResponse<T>

  • 参数类型
    T - 响应体类型


    public abstract class HttpResponse<T>
    extends Object
    代表对HttpRequest的回复
    Incubating Feature.将在以后的版本中删除。

    当接收到响应状态代码和标题时,通常在响应正文已被接收之后,A HttpResponse可用。 这取决于发送请求时提供的响应体处理程序。 在所有情况下,在身体被读取之前调用响应体处理程序。 这使应用程序有机会决定如何处理身体。

    此类中提供了访问响应头和响应主体的方法。

    响应处理程序和处理器

    响应机构在两个层面处理。 应用程序代码提供响应处理程序( HttpResponse.BodyHandler ),它可以检查响应状态代码和头文件,然后返回一个HttpResponse.BodyProcessor以实际读取(或丢弃)正文并将其转换为一些有用的Java对象类型。 处理程序可以返回预定义的处理器类型之一或定制处理器,或者如果正文被丢弃,则可以调用BodyProcessor.discard()并返回丢弃响应正文的处理器。 处理器和处理器的静态实现分别在BodyHandlerBodyProcessor中提供。 在所有情况下,提供的处理程序功能都是方便的实现,它忽略了提供的状态代码和头文件,并返回相关的预定义的BodyProcessor

    参见HttpResponse.BodyHandler例如用法。

    从以下版本开始:
    9
    • 构造方法详细信息

      • HttpResponse

        protected HttpResponse​()
        创建一个HttpResponse。
    • 方法详细信息

      • statusCode

        public abstract int statusCode​()
        返回此响应的状态代码。
        结果
        响应代码
      • 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[]StringPath ),或者它可能表示身体被阅读的对象,如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协议版本