モジュール 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
    • コンストラクタの詳細

      • 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は空です。
        戻り値:
        このリクエストのBodyPublisherを含むOptional
      • 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()
        このリクエストが送信された(または送信される)リクエスト・ヘッダー。
        戻り値:
        このリクエストのHttpHeaders
      • equals

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

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

        このメソッドは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)