public final class HttpHeaders extends Object
通常、HttpHeadersは直接作成されるのではなく、HttpRequestまたはHttpResponseから戻されます。 リクエスト・ビルダーheadersメソッドの1つを介してrequestに特定のHTTPヘッダーを設定できます。
このクラス(Stringヘッダー名を受け入れる)のメソッドおよびmapメソッドによって戻されたMapは、ヘッダー値の取得時にケースに関係なく動作します。
HTTPプロトコルではHTTPヘッダー名が複数回使用される場合があります。 このため、ヘッダーは名前と値リストとして表されます。 ヘッダー値が出現するたびに、その値が解釈されることなく、該当するヘッダー名リストに一杯に追加されます。 特に、HttpHeadersは、カンマ区切りのヘッダー値文字列を分割または結合しても実行しません。 buildingがリクエストである場合、ヘッダー値リストの要素の順序は保持されます。 レスポンスの場合、ヘッダー値リストの要素の順序は、受信された順序です。 ただし、mapメソッドによって返されたMapは、エントリの順序付けに関する保証を提供しません。
HttpHeadersインスタンスは不変です。
- 導入されたバージョン:
- 11
-
メソッドのサマリー
修飾子と型 メソッド 説明 List<String>allValues(String name)指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。booleanequals(Object obj)このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。Optional<String>firstValue(String name)指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptionalを返します。OptionalLongfirstValueAsLong(String name)指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。inthashCode()このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。Map<String,List<String>>map()このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。static HttpHeadersof(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)指定されたマップからHTTPヘッダーを返します。StringtoString()このHTTPヘッダーを文字列として返します。
-
メソッドの詳細
-
firstValue
指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptionalを返します。 ヘッダーが存在しない場合、返されたOptionalは空です。- パラメータ:
name- ヘッダー名- 戻り値:
- 最初に名前が付けられたヘッダー文字列値(存在する場合)を含む
Optional<String>
-
firstValueAsLong
public OptionalLong firstValueAsLong(String name)指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。 ヘッダーが存在しない場合、オプションは空です。 ヘッダーが存在するが、Long値として解析されない値が含まれている場合、例外がスローされます。- パラメータ:
name- ヘッダー名- 戻り値:
OptionalLong- 例外:
NumberFormatException- 値が見つかるが、Longとして解析されない場合
-
allValues
指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。 Listが常に返されます。ヘッダーが存在しない場合は、空である可能性があります。- パラメータ:
name- ヘッダー名- 戻り値:
- ヘッダー文字列値のリスト
-
map
このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。- 戻り値:
- マップ
-
equals
public final boolean equals(Object obj)このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。指定されたオブジェクトが
HttpHeadersでない場合、このメソッドはfalseを返します。 対応するmapsが等しい場合、2つのHTTPヘッダーが等しくなります。このメソッドは
Object.equalsメソッドの汎用規約を満たします。- オーバーライド:
equals、クラス:Object- パラメータ:
obj- このオブジェクトが比較されるオブジェクト- 戻り値:
- 指定されたオブジェクトがこのHTTPヘッダーと等しい
HttpHeadersである場合にのみtrue - 関連項目:
Object.hashCode()、HashMap
-
hashCode
public final int hashCode()このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。ハッシュ・コードは、HTTPヘッダー
mapのコンポーネントに基づいており、Object.hashCodeメソッドの汎用規約を満たしています。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- このHTTPヘッダーのハッシュ・コード値
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()このHTTPヘッダーを文字列として返します。 -
of
public static HttpHeaders of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)指定されたマップからHTTPヘッダーを返します。 指定したマップ・キーはヘッダー名、およびそのヘッダー名の文字列ヘッダー値のリストを表します。HTTPプロトコルではHTTPヘッダー名が複数回使用される場合があります。 そのようなmulti-valuedのヘッダーは、指定されたマップの単一のエントリで表現される必要があり、そのエントリ値は複数のヘッダー文字列の値を表すリストです。 先頭および末尾の空白は、処理前に、指定されたマップおよびそのリストから取得されたすべての文字列値から削除されます。 フィルタ処理後、少なくとも1つの空の文字列を含むヘッダーのみがHTTPヘッダーに追加されます。
- APIの注:
- このメソッドの主な目的は、フレームワークのテストです。 必要なヘッダーは、
HttpRequestheadersメソッドのいずれかを介して設定できます。 - パラメータ:
headerMap- ヘッダーの名前と値を含むマップfilter- 指定されたマップ内の各ヘッダー/値ペアを検査して、HTTPヘッダーに追加する必要があるかどうかを判断するために使用できるフィルタ。- 戻り値:
- 指定されたヘッダーを含むHTTPヘッダー・インスタンス
- 例外:
NullPointerException- 次のいずれかの場合:headerMap、指定されたマップのキーまたは値、あるいはマップ値リストのエントリ、filterはnullです。IllegalArgumentException- 指定されたheaderMapに(ケースに関する情報なし)と等しい2つのキーが含まれている場合、またはホ・ワインをトリミングした後に長さが0であるキーが指定されたマップに含まれている場合
-