モジュール java.net.http
パッケージ java.net.http

インタフェースHttpResponse<T>

型パラメータ:
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  HttpResponse.BodyHandler<T>
    レスポンス本文のハンドラ。
    static class  HttpResponse.BodyHandlers
    レスポンス本文を文字列として処理したり、レスポンス本文をファイルにストリーミングするなど、様々な便利なハンドラを実装するBodyHandlerの実装。
    static interface  HttpResponse.BodySubscriber<T>
    BodySubscriberはレスポンス本文のバイトを消費し、上位のJavaタイプに変換します。
    static class  HttpResponse.BodySubscribers
    レスポンス本文バイトをStringに変換したり、バイトをファイルにストリーミングするなど、様々な有用なサブスクライバを実装するBodySubscriberの実装。
    static interface  HttpResponse.PushPromiseHandler<T>
    プッシュ・プロミスのハンドラです。
    static interface  HttpResponse.ResponseInfo
    レスポンスが最初に受信されて本文が処理される前にBodyHandlerに提供される初期レスポンス情報。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    T body()
    本文を返します。
    HttpHeaders headers()
    受信したレスポンス・ヘッダーを返します。
    Optional<HttpResponse<T>> previousResponse()
    以前の中間レスポンスを受信した場合はそれを含むOptionalを返します。
    HttpRequest request()
    このレスポンスに対応するHttpRequestを返します。
    Optional<SSLSession> sslSession()
    このレスポンスに有効なSSLSessionを含むOptionalを返します。
    int statusCode()
    このレスポンスのステータス・コードを返します。
    URI uri()
    レスポンスを受け取ったURIを返します。
    HttpClient.Version version()
    このレスポンスに使用されたHTTPプロトコルのバージョンを返します。
  • メソッドの詳細

    • statusCode

      int statusCode()
      このレスポンスのステータス・コードを返します。
      戻り値:
      レスポンス・コード
    • request

      HttpRequest request()
      このレスポンスに対応するHttpRequestを返します。

      「送信」の場合、返されるHttpRequestは起動リクエストではない可能性があります。 たとえば、開始リクエストがリダイレクトされた場合、このメソッドから返されるリクエストにはリダイレクトされたURIがあり、これは開始リクエストURIとは異なります。

      戻り値:
      リクエスト
      関連項目:
      previousResponse()
    • previousResponse

      Optional<HttpResponse<T>> previousResponse()
      以前の中間レスポンスを受信した場合はそれを含むOptionalを返します。 中間レスポンスは、リダイレクトまたは認証の結果として受信されるものです。 以前のレスポンスが受信されなかった場合、空のOptionalが返されます。
      戻り値:
      HttpResponseが含まれている場合は、オプションです。
    • headers

      HttpHeaders headers()
      受信したレスポンス・ヘッダーを返します。
      戻り値:
      レスポンス・ヘッダー
    • body

      T body()
      本文を返します。 Tのタイプに応じて、返された本文は、本文が(byte[]、またはString、またはPathなどの)の後に本文を表すか、本文が読み取られるオブジェクトを表すことがあります(InputStreamなど)。

      このHttpResponsepreviousResponse()の呼び出しから返された場合、このメソッドはnullを返します

      戻り値:
    • sslSession

      Optional<SSLSession> sslSession()
      このレスポンスに有効なSSLSessionを含むOptionalを返します。 HTTPSレスポンスでない場合、空のOptionalを返します。
      戻り値:
      レスポンスに関連付けられたSSLSessionを含むOptional
    • uri

      URI uri()
      レスポンスを受け取ったURIを返します。 これは、リダイレクトが発生した場合、リクエストURIと異なる場合があります。
      戻り値:
      レスポンスのURI
    • version

      このレスポンスに使用されたHTTPプロトコルのバージョンを返します。
      戻り値:
      HTTPプロトコル・バージョン