HttpRequestインスタンスは、HttpRequest builderを介して構築されます。 HttpRequestビルダーは、newBuilderメソッドのいずれかから取得されます。 リクエストURI、ヘッダーおよび本文を設定できます。 リクエスト本体は、POST、PUTまたはmethodメソッドの1つに提供されているBodyPublisherを介して提供されます。 必要なパラメータがすべてビルダーに設定されると、buildはHttpRequestを返します。 一部のパラメータが異なる複数の関連リクエストを作成するために、ビルダーを何度でもコピーおよび変更できます。 
 
レスポンス本文を文字列として出力する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 interfaceBodyPublisherは、上位レベルのJavaオブジェクトをリクエスト本文として送信するのに適したバイト・バッファのフローに変換します。static classStringからのリクエスト本文の公開やファイルからの公開など、各種の便利なパブリッシャを実装するBodyPublisherの実装。static interface「HTTPリクエスト」のビルダー。
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明abstract Optional<HttpRequest.BodyPublisher>このリクエストで設定されたHttpRequest.BodyPublisherを含むOptionalを返します。booleanこのHTTPリクエスト・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。abstract booleanこのリクエスト「続行の予定」設定を返します。inthashCode()このHTTPリクエスト・インスタンスのハッシュ・コードを計算します。abstract HttpHeadersheaders()(user-accessible)リクエスト・ヘッダーは、このリクエストが送信された(または)でした。abstract Stringmethod()このリクエストのリクエスト・メソッドを返します。static HttpRequest.BuilderHttpRequestビルダーを作成します。static HttpRequest.BuildernewBuilder(HttpRequest request, BiPredicate<String,String> filter)既存のHttpRequestから初期状態がコピーされるBuilderを作成します。static HttpRequest.BuildernewBuilder(URI uri)指定されたURIのHttpRequestビルダーを作成します。timeout()このリクエスト・タイムアウト期間を含むOptionalを返します。abstract URIuri()このリクエストURIを返します。abstract Optional<HttpClient.Version>version()このHttpRequestにリクエストされるHTTPプロトコル・バージョンを含むOptionalを返します。
- 
コンストラクタの詳細- 
HttpRequestprotected HttpRequest()HttpRequestを作成します。
 
- 
- 
メソッドの詳細- 
newBuilderpublic static HttpRequest.Builder newBuilder(URI uri)指定されたURIのHttpRequestビルダーを作成します。- パラメータ:
- uri- リクエストURI
- 戻り値:
- 新しいリクエスト・ビルダー
- 例外:
- IllegalArgumentException- URIスキームがサポートされていない場合。
 
- 
newBuilderpublic static HttpRequest.Builder newBuilder(HttpRequest request, BiPredicate<String,String> filter)既存のHttpRequestから初期状態がコピーされるBuilderを作成します。このビルダーを使用すると、元のビルダーと同等の HttpRequestを構築しながら、構築前のリクエスト状態を修正できます - たとえば、ヘッダーを追加します。filterは、特定のリクエストからコピーされるときに、各ヘッダー名と値のペアに適用されます。 完了すると、filterによってレイアウトされた条件を満たすヘッダーのみが、このメソッドから返されるBuilderに存在します。- APIのノート:
- 次のシナリオは、フィルタの一般的なユースケースを示しています。 HttpRequestrequestを確認してください:
 -  すべてのヘッダーを保持:
  HttpRequest.newBuilder(request, (n, v) -> true)
-  すべてのヘッダーを削除:
  HttpRequest.newBuilder(request, (n, v) -> false)
-  特定のヘッダー(e.g. Foo-Bar)を削除します:
  HttpRequest.newBuilder(request, (name, value) -> !name.equalsIgnoreCase("Foo-Bar"))
 
-  すべてのヘッダーを保持:
  
- パラメータ:
- request- 元のリクエスト
- filter- ヘッダー・フィルタ
- 戻り値:
- 新しいリクエスト・ビルダー
- 例外:
- IllegalArgumentException- 指定されたリクエスト(たとえば、リクエストに無効なパラメータが含まれている場合)から新しいビルダーをシードできない場合
- 導入されたバージョン:
- 16
 
- 
newBuilderpublic static HttpRequest.Builder newBuilder()HttpRequestビルダーを作成します。- 戻り値:
- 新しいリクエスト・ビルダー
 
- 
bodyPublisherpublic abstract Optional<HttpRequest.BodyPublisher> bodyPublisher()このリクエストで設定されたHttpRequest.BodyPublisherを含むOptionalを返します。BodyPublisherがリクエスト・ビルダーに設定されていない場合、Optionalは空です。- 戻り値:
- このリクエストを含むOptionalBodyPublisher
 
- 
methodpublic abstract String method()このリクエストのリクエスト・メソッドを返します。 明示的に設定されていない場合、任意のリクエストに対するデフォルトのメソッドは"GET"です。- 戻り値:
- このリクエスト・メソッド
 
- 
timeoutこのリクエスト・タイムアウト期間を含むOptionalを返します。 リクエスト・ビルダーでタイムアウト時間が設定されていない場合、Optionalは空です。- 戻り値:
- このリクエスト・タイムアウト時間を含むOptional
 
- 
expectContinuepublic abstract boolean expectContinue()このリクエスト「続行の予定」設定を返します。- 戻り値:
- このリクエストは設定を続けることを期待しています
 
- 
uripublic abstract URI uri()このリクエストURIを返します。- 戻り値:
- このリクエストURI
 
- 
versionpublic abstract Optional<HttpClient.Version> version()このHttpRequestにリクエストされるHTTPプロトコル・バージョンを含むOptionalを返します。 リクエスト・ビルダーにバージョンが設定されていない場合、Optionalは空です。 その場合、リクエストされたバージョンは送信するHttpClientのバージョンになります。 実際に使用されたバージョンを確認するには、対応するHttpResponseを問合せする必要があります。- 戻り値:
- HTTPプロトコル・バージョン
 
- 
headerspublic abstract HttpHeaders headers()(user-accessible)リクエスト・ヘッダーは、このリクエストが送信された(または)でした。- 戻り値:
- このリクエストHttpHeaders
 
- 
equalspublic final boolean equals(Object obj)このHTTPリクエスト・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。指定されたオブジェクトが HttpRequestでない場合、このメソッドはfalseを返します。 URI、メソッド、およびヘッダー・フィールドがすべて等しい場合、2つのHTTPリクエストは等しいです。このメソッドは Object.equalsメソッドの汎用規約を満たします。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- このオブジェクトが比較されるオブジェクト
- 戻り値:
- 指定されたオブジェクトがこのHTTPリクエストと等しいHttpRequestである場合にのみtrue
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic final int hashCode()このHTTPリクエスト・インスタンスのハッシュ・コードを計算します。ハッシュ・コードは、HTTPリクエストのURI、メソッド、およびヘッダー・コンポーネントに基づいており、 Object.hashCodeメソッドの汎用規約を満たしています。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このHTTPリクエストのハッシュ・コード値
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 
-