通常、HttpHeadersは直接作成されるのではなく、HttpRequestまたはHttpResponseから戻されます。 リクエスト・ビルダーheadersメソッドの1つを介してrequestに特定のHTTPヘッダーを設定できます。
このクラス(Stringヘッダー名を受け入れる)のメソッドおよびmapメソッドによって戻されたMapは、ヘッダー値の取得時にケースに関係なく動作します。
HTTPプロトコルではHTTPヘッダー名が複数回使用される場合があります。 このため、ヘッダーは名前と値リストとして表されます。 ヘッダー値が出現するたびに、その値が解釈されることなく、該当するヘッダー名リストに一杯に追加されます。 特に、HttpHeadersは、カンマ区切りのヘッダー値文字列を分割または結合しても実行しません。 buildingがリクエストである場合、ヘッダー値リストの要素の順序は保持されます。 レスポンスの場合、ヘッダー値リストの要素の順序は、受信された順序です。 ただし、mapメソッドによって返されたMapは、エントリの順序付けに関する保証を提供しません。
HttpHeadersインスタンスは不変です。
- 導入されたバージョン:
- 11
-
メソッドのサマリー
修飾子と型メソッド説明指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。final booleanこのHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。firstValue(String name) 指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptionalを返します。firstValueAsLong(String name) 指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。final inthashCode()このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。map()このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。static HttpHeaders指定されたマップからHTTPヘッダーを返します。toString()このHTTPヘッダーを文字列として返します。
-
メソッドの詳細
-
firstValue
-
firstValueAsLong
public OptionalLong firstValueAsLong(String name) 指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。 ヘッダーが存在しない場合、Optionalは空です。 ヘッダーが存在するが、Long値として解析されない値が含まれている場合は、例外がスローされます。- パラメータ:
name- ヘッダー名- 戻り値:
- an
OptionalLong - 例外:
NumberFormatException- 値が見つかったが、Longとして解析されない場合
-
allValues
-
map
-
equals
public final boolean equals(Object obj) このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。指定されたオブジェクトが
HttpHeadersでない場合、このメソッドはfalseを返します。 対応するmapsが等しい場合、2つのHTTPヘッダーが等しくなります。このメソッドは
Object.equalsメソッドの汎用規約を満たします。 -
hashCode
public final int hashCode()このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。ハッシュ・コードは、HTTPヘッダー
mapのコンポーネントに基づいており、Object.hashCodeメソッドの汎用規約を満たしています。 -
toString
-
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であるキーが指定されたマップに含まれている場合
-