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

クラスHttpRequest

java.lang.Object
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を作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    abstract Optional<HttpRequest.BodyPublisher> bodyPublisher()
    このリクエストで設定されたHttpRequest.BodyPublisherを含むOptionalを返します。
    boolean equals​(Object obj)
    このHTTPリクエスト・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。
    abstract boolean expectContinue()
    このリクエスト「続行の予定」設定を返します。
    int hashCode()
    このHTTPリクエスト・インスタンスのハッシュ・コードを計算します。
    abstract HttpHeaders headers()
    (user-accessible)リクエスト・ヘッダーは、このリクエストが送信された(または)でした。
    abstract String method()
    このリクエストのリクエスト・メソッドを返します。
    static HttpRequest.Builder newBuilder()
    HttpRequestビルダーを作成します。
    static HttpRequest.Builder newBuilder​(URI uri)
    指定されたURIのHttpRequestビルダーを作成します。
    abstract Optional<Duration> timeout()
    このリクエスト・タイムアウト期間を含むOptionalを返します。
    abstract URI uri()
    このリクエストURIを返します。
    abstract Optional<HttpClient.Version> version()
    このHttpRequestにリクエストされるHTTPプロトコル・バージョンを含むOptionalを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • 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)