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

クラスHttpRequest


  • public abstract class HttpRequest
    extends Object
    HTTPリクエスト。

    HttpRequestインスタンスは、HttpRequest builderを介して構築されます。 HttpRequestビルダーは、newBuilderメソッドのいずれかから取得されます。 リクエストURI、ヘッダーおよび本文を設定できます。 リクエスト本体は、POSTPUTまたはmethodメソッドの1つに提供されているBodyPublisherを介して提供されます。 必要なパラメータがすべてビルダーに設定されると、buildHttpRequestを返します。 一部のパラメータが異なる複数の関連リクエストを作成するために、ビルダーを何度でもコピーおよび変更できます。

    レスポンス本文を文字列として出力するGETリクエストの例を次に示します。

       HttpClient client = HttpClient.newHttpClient();
       HttpRequest request = HttpRequest.newBuilder()
             .uri(URI.create("http://foo.com/"))
             .build();
       client.sendAsync(request, BodyHandlers.ofString())
             .thenApply(HttpResponse::body)
             .thenAccept(System.out::println)
             .join(); 

    クラスBodyPublishersは、多くの共通パブリッシャの実装を提供します。 または、カスタムBodyPublisherの実装を使用できます。

    導入されたバージョン:
    11
    • ネストされたクラスのサマリー

      ネストされたクラス 
      修飾子と型 クラス 説明
      static interface  HttpRequest.BodyPublisher
      BodyPublisherは、上位レベルのJavaオブジェクトをリクエスト本文として送信するのに適したバイト・バッファのフローに変換します。
      static class  HttpRequest.BodyPublishers
      Stringからのリクエスト本文の公開やファイルからの公開など、各種の便利なパブリッシャを実装するBodyPublisherの実装。
      static interface  HttpRequest.Builder
      「HTTPリクエスト」のビルダー。
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected HttpRequest()
      HttpRequestを作成します。
    • コンストラクタの詳細

      • HttpRequest

        protected HttpRequest()
        HttpRequestを作成します。
    • メソッドの詳細

      • newBuilder

        public static HttpRequest.Builder newBuilder​(URI uri)
        指定されたURIのHttpRequestビルダーを作成します。
        パラメータ:
        uri - リクエストURI
        戻り値:
        新しいリクエスト・ビルダー
        例外:
        IllegalArgumentException - URIスキームがサポートされていない場合。
      • newBuilder

        public static HttpRequest.Builder newBuilder()
        HttpRequestビルダーを作成します。
        戻り値:
        新しいリクエスト・ビルダー
      • bodyPublisher

        public abstract Optional<HttpRequest.BodyPublisher> bodyPublisher()
        このリクエストで設定されたHttpRequest.BodyPublisherを含むOptionalを返します。 BodyPublisherがリクエスト・ビルダーに設定されていない場合、Optionalは空です。
        戻り値:
        このリクエストを含むOptional BodyPublisher
      • method

        public abstract String method()
        このリクエストのリクエスト・メソッドを返します。 明示的に設定されていない場合、任意のリクエストに対するデフォルトのメソッドは"GET"です。
        戻り値:
        このリクエスト・メソッド
      • timeout

        public abstract Optional<Duration> timeout()
        このリクエスト・タイムアウト期間を含むOptionalを返します。 リクエスト・ビルダーでタイムアウト時間が設定されていない場合、Optionalは空です。
        戻り値:
        このリクエスト・タイムアウト時間を含むOptional
      • expectContinue

        public abstract boolean expectContinue()
        このリクエスト「続行の予定」設定を返します。
        戻り値:
        このリクエストは設定を続けることを期待しています
      • uri

        public abstract URI uri()
        このリクエストURIを返します。
        戻り値:
        このリクエストURI
      • version

        public abstract Optional<HttpClient.Version> version()
        このHttpRequestにリクエストされるHTTPプロトコル・バージョンを含むOptionalを返します。 リクエスト・ビルダーにバージョンが設定されていない場合、Optionalは空です。 その場合、リクエストされたバージョンは送信するHttpClientのバージョンになります。 実際に使用されたバージョンを確認するには、対応するHttpResponseを問合せする必要があります。
        戻り値:
        HTTPプロトコル・バージョン
      • headers

        public abstract HttpHeaders headers()
        (user-accessible)リクエスト・ヘッダーは、このリクエストが送信された(または)でした。
        戻り値:
        このリクエストHttpHeaders
      • equals

        public final boolean equals​(Object obj)
        このHTTPリクエスト・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。

        指定されたオブジェクトがHttpRequestでない場合、このメソッドはfalseを返します。 URI、メソッド、およびヘッダー・フィールドがすべて等しい場合、2つのHTTPリクエストは等しいです。

        このメソッドはObject.equalsメソッドの汎用規約を満たします。

        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - このオブジェクトが比較されるオブジェクト
        戻り値:
        指定されたオブジェクトがこのHTTPリクエストと等しい HttpRequestである場合にのみtrue
        関連項目:
        Object.hashCode()HashMap
      • hashCode

        public final int hashCode()
        このHTTPリクエスト・インスタンスのハッシュ・コードを計算します。

        ハッシュ・コードは、HTTPリクエストのURI、メソッド、およびヘッダー・コンポーネントに基づいており、Object.hashCodeメソッドの汎用規約を満たしています。

        オーバーライド:
        hashCode 、クラス:  Object
        戻り値:
        このHTTPリクエストのハッシュ・コード値
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)