モジュール jdk.incubator.httpclient
パッケージ jdk.incubator.http

クラスHttpRequest.Builder

  • 含まれているクラス:
    HttpRequest

    public abstract static class HttpRequest.Builder
    extends Object
    「HTTPリクエスト」の作成者。
    インキュベーション機能。将来のリリースで削除されます。

    HttpRequest.Builderのインスタンスは、HttpRequest.newBuilder(URI)またはHttpRequest.newBuilder()を呼び出すことによって作成されます。

    このクラスの各セッター・メソッドは、ビルダーの状態を変更し、this (すなわち、同じインスタンス)を返します。 メソッドは同期されておらず、外部同期なしで複数のスレッドから呼び出されるべきではありません。

    すべてのリクエスト・ヘッダーがユーザー・コードによって設定されるわけではないことに注意してください。 セキュリティ上の理由から制限されているものと、認証、リダイレクト、およびCookie管理に関連するヘッダーなどのその他のものは、直接ユーザー・セット・ヘッダーではなく特定のAPIによって管理されます。

    buildメソッドは、呼び出されるたびに新しい HttpRequestを返します。

    導入されたバージョン:
    9
    • コンストラクタの詳細

      • Builder

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

      • uri

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

        public abstract HttpRequest.Builder expectContinue​(boolean enable)
        サーバーが本文を送信する前にリクエストを確認するようリクエストします。 デフォルトでは、出力が無効化されます。 有効にすると、クライアントがリクエスト本文を送信する前に、サーバーはエラー・レスポンスまたは100 Continueレスポンスを送信するようリクエストされます。 これは、この暫定的なレスポンスが受信されるまでリクエストの発行元が呼び出されないことを意味します。
        パラメータ:
        enable - Expectを引き続き送信する場合はtrue
        戻り値:
        このリクエスト・ビルダー
      • version

        public abstract HttpRequest.Builder version​(HttpClient.Version version)
        このリクエストに優先するHttpClient.Versionを設定します。

        対応するHttpResponseは、実際に使用されたバージョンを確認する必要があります。 リクエストにバージョンが設定されていない場合、リクエストされたバージョンは送信するHttpClientのバージョンになります。

        パラメータ:
        version - リクエストされたHTTPプロトコルのバージョン
        戻り値:
        このリクエスト・ビルダー
      • header

        public abstract HttpRequest.Builder header​(String name,
                                                   String value)
        指定された名前の値のペアをこのリクエストのヘッダーのセットに追加します。 指定された値がその名前の値のリストに追加されます。
        パラメータ:
        name - ヘッダー名
        value - ヘッダー値
        戻り値:
        このリクエスト・ビルダー
        例外:
        IllegalArgumentException - ヘッダー名または値が有効でない場合は、「RFC 7230セクション-3.2」を参照してください。
      • headers

        public abstract HttpRequest.Builder headers​(String... headers)
        指定された名前の値のペアをこのリクエストのヘッダーのセットに追加します。 提供されたStringインスタンスは、ヘッダー名とヘッダー値として代替する必要があります。 同じ名前に複数の値を追加するには、新しい名前ごとに同じ名前を指定する必要があります。
        パラメータ:
        headers - 名前値のペアのリスト
        戻り値:
        このリクエスト・ビルダー
        例外:
        IllegalArgumentException - 奇数個のパラメータがある場合、またはヘッダー名または値が有効でない場合は、「RFC 7230セクション-3.2」を参照してください。
      • timeout

        public abstract HttpRequest.Builder timeout​(Duration duration)
        このリクエストのタイムアウトを設定します。 レスポンスが指定されたタイムアウト内に受信されない場合、HttpTimeoutExceptionHttpClient::sendからスローされるか、またはHttpClient::sendAsyncは例外的にHttpTimeoutExceptionで完了します。 タイムアウトを設定しない場合の効果は、無限の持続時間を設定する場合と同じです。永遠にブロックします。
        パラメータ:
        duration - タイムアウト期間
        戻り値:
        このリクエスト・ビルダー
        例外:
        IllegalArgumentException - 期間が非正の場合
      • setHeader

        public abstract HttpRequest.Builder setHeader​(String name,
                                                      String value)
        指定された名前の値のペアを、このリクエストのヘッダーのセットに設定します。 これにより、以前に設定されたnameの値が上書きされます。
        パラメータ:
        name - ヘッダー名
        value - ヘッダー値
        戻り値:
        このリクエスト・ビルダー
        例外:
        IllegalArgumentException - ヘッダー名または値が有効でない場合は、「RFC 7230セクション-3.2」を参照してください。
      • GET

        public abstract HttpRequest.Builder GET()
        このBuilderのリクエスト・メソッドをGETに設定します。 これはデフォルトです。
        戻り値:
        HttpRequest
      • POST

        public abstract HttpRequest.Builder POST​(HttpRequest.BodyPublisher bodyPublisher)
        このBuilderのリクエスト・メソッドをPOSTに設定し、リクエストボディ・パブリッシャを指定された値に設定します。
        パラメータ:
        bodyPublisher - ボディ・パブリッシャ
        戻り値:
        HttpRequest
      • PUT

        public abstract HttpRequest.Builder PUT​(HttpRequest.BodyPublisher bodyPublisher)
        このBuilderのリクエスト・メソッドをPUTに設定し、リクエストボディ・パブリッシャを指定された値に設定します。
        パラメータ:
        bodyPublisher - ボディ・パブリッシャ
        戻り値:
        HttpRequest
      • DELETE

        public abstract HttpRequest.Builder DELETE​(HttpRequest.BodyPublisher bodyPublisher)
        このBuilderのリクエスト・メソッドをDELETEに設定し、リクエストボディ・パブリッシャを指定された値に設定します。
        パラメータ:
        bodyPublisher - ボディ・パブリッシャ
        戻り値:
        HttpRequest
      • method

        public abstract HttpRequest.Builder method​(String method,
                                                   HttpRequest.BodyPublisher bodyPublisher)
        このBuilderのリクエスト・メソッドとリクエスト本文を指定された値に設定します。
        APIの注:
        noBodyリクエストボディ・パブリッシャは、リクエスト本文が必要ない場合や適切でない場合に使用できます。
        パラメータ:
        method - 使用するメソッド
        bodyPublisher - ボディ・パブリッシャ
        戻り値:
        HttpRequest
        例外:
        IllegalArgumentException - メソッドが認識されない場合
      • copy

        public abstract HttpRequest.Builder copy()
        現在の状態に基づいて、このBuilderの正確な複製コピーを返します。 新しいビルダーは、このビルダーとは独立して変更できます。
        戻り値:
        このビルダーの正確なコピー