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)
指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。boolean
equals(Object obj)
このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。Optional<String>
firstValue(String name)
指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptional
を返します。OptionalLong
firstValueAsLong(String name)
指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLong
を返します。int
hashCode()
このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。Map<String,List<String>>
map()
このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。static HttpHeaders
of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)
指定されたマップからHTTPヘッダーを返します。String
toString()
この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のノート:
- このメソッドの主な目的は、フレームワークのテストです。 必要なヘッダーは、
HttpRequest
headers
メソッドのいずれかを介して設定できます。 - パラメータ:
headerMap
- ヘッダーの名前と値を含むマップfilter
- 指定されたマップ内の各ヘッダー/値ペアを検査して、HTTPヘッダーに追加する必要があるかどうかを判断するために使用できるフィルタ。- 戻り値:
- 指定されたヘッダーを含むHTTPヘッダー・インスタンス
- 例外:
NullPointerException
- 次のいずれかの場合:headerMap
、指定されたマップのキーまたは値、あるいはマップ値リストのエントリ、filter
はnull
です。IllegalArgumentException
- 指定されたheaderMap
に(ケースに関する情報なし)と等しい2つのキーが含まれている場合、またはホ・ワインをトリミングした後に長さが0
であるキーが指定されたマップに含まれている場合
-