クラス HttpHeaders

java.lang.ObjectSE
org.springframework.http.HttpHeaders
実装されているすべてのインターフェース:
SerializableSE
既知の直属サブクラス
WebSocketHttpHeaders

public class HttpHeaders extends ObjectSE implements SerializableSE
HTTP リクエストまたはレスポンスヘッダーを表すデータ構造。String ヘッダー名を String 値のリストにマッピングし、一般的なアプリケーションレベルのデータ型のアクセサーも提供します。

MapSE で定義されている通常のメソッドに加えて、このクラスは多くの一般的な便利なメソッドを提供します。例:

  • getFirst(String) は、指定されたヘッダー名に関連付けられた最初の値を返します
  • add(String, String) は、ヘッダー名の値のリストにヘッダー値を追加します
  • set(String, String) はヘッダー値を単一のストリング値に設定します

デフォルトコンストラクターによって作成された HttpHeaders インスタンスは、ヘッダー名を大文字と小文字を区別せずに扱うことに注意してください。既存の HTTP ヘッダーデータ構造に適応するためにフレームワークによって内部的にインスタンス化されたインスタンスのような HttpHeaders(MultiValueMap) コンストラクターで作成されたインスタンスは、HTTP 仕様で義務付けられているように、ヘッダーごとの get/set/add 操作が大文字と小文字を区別しないことを保証します。ただし、エントリが実際に格納される方法は必ずしもそうではないため、報告された size() が膨らむ可能性があります。大文字と小文字を区別しないビューを確実にするには、headerSet() または headerNames() を使用することをお勧めします。

このクラスは、Spring Framework でサポートされている「既知の」ヘッダーを参照するためのものです。アプリケーションまたはライブラリが RFC で定義されている他のヘッダーに依存している場合は、ヘッダー名をパラメーターとして受け入れるメソッドを使用してください。

7.0 以降、このクラスは MultiValueMap 契約を実装しなくなりました。

導入:
3.0
作成者:
Arjen Poutsma, Sebastien Deleuze, Brian Clozel, Juergen Hoeller, Josh Long, Sam Brannen, Simon Basl é
関連事項:
  • フィールドの詳細

  • コンストラクターの詳細

    • HttpHeaders

      public HttpHeaders()
      基になる大文字と小文字を区別しないマップを使用して、HttpHeaders オブジェクトの新しい空のインスタンスを構築します。
    • HttpHeaders

      public HttpHeaders(MultiValueMap<StringSE,StringSE> headers)
      既存のマップを基にした新しい HttpHeaders インスタンスを作成します。

      このコンストラクターは、主にフレームワーク内での内部使用のために、既存のヘッダーマップ構造に適応するための最適化として使用できます。

      パラメーター:
      headers - ヘッダーマップ (大文字と小文字を区別しないキーで動作することが期待されています)
      導入:
      5.1
    • HttpHeaders

      public HttpHeaders(HttpHeaders httpHeaders)
      readOnlyHttpHeaders(HttpHeaders) を介して指定された HttpHeaders の周囲に以前に適用された可能性のある読み取り専用ラッパーを削除して、新しい HttpHeaders インスタンスを構築します。

      書き込み可能なインスタンスが変更されると、読み取り専用インスタンスは同期されなくなる可能性が高くなり、破棄する必要があります。

      パラメーター:
      httpHeaders - 公開するヘッダー
      導入:
      7.0
  • メソッドの詳細

    • copyOf

      public static HttpHeaders copyOf(MultiValueMap<StringSE,StringSE> headers)
      新しい HttpHeaders 可変インスタンスを作成し、パラメーターとして指定されたすべてのヘッダー値をコピーします。
      パラメーター:
      headers - コピーするヘッダー
      導入:
      7.0
    • copyOf

      public static HttpHeaders copyOf(HttpHeaders httpHeaders)
      新しい HttpHeaders 可変インスタンスを作成し、パラメーターとして指定されたすべてのヘッダー値をコピーします。
      パラメーター:
      httpHeaders - コピーするヘッダー
      導入:
      7.0
    • getOrEmpty

      public ListSE<StringSE> getOrEmpty(StringSE headerName)
      指定されたヘッダー名のヘッダー値のリストを取得します(存在する場合)。
      パラメーター:
      headerName - ヘッダー名
      戻り値:
      ヘッダー値のリスト、または空のリスト
      導入:
      7.0
    • getOrDefault

      public ListSE<StringSE> getOrDefault(StringSE headerName, ListSE<StringSE> defaultValue)
      指定されたヘッダー名のヘッダー値のリストを取得します。ヘッダーが存在しない場合は、指定されたデフォルトの値のリストを取得します。
      パラメーター:
      headerName - ヘッダー名
      defaultValue - ヘッダーが存在しない場合はフォールバックリスト
      戻り値:
      ヘッダー値のリスト、またはデフォルトの値のリスト
      導入:
      7.0
    • setAccept

      public void setAccept(ListSE<MediaType> acceptableMediaTypes)
      Accept ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。
    • getAccept

      public ListSE<MediaType> getAccept()
      Accept ヘッダーで指定されている、受け入れ可能なメディア型のリストを返します。

      受け入れ可能なメディア型が指定されていない場合、空のリストを返します。

    • setAcceptLanguage

      public void setAcceptLanguage(ListSE<Locale.LanguageRangeSE> languages)
      Accept-Language ヘッダーで指定されているように、受け入れ可能な言語範囲を設定します。
      導入:
      5.0
    • getAcceptLanguage

      public ListSE<Locale.LanguageRangeSE> getAcceptLanguage()
      "Accept-Language" ヘッダーから言語範囲を返します。

      ソートのみが必要な場合、優先ロケールは getAcceptLanguageAsLocales() のみを使用するか、サポートされているロケールのリストに基づいてフィルタリングする必要がある場合は、返されたリストを Locale.filter(List, Collection)SE に渡すことができます。

      例外:
      IllegalArgumentExceptionSE - 値を言語範囲に変換できない場合
      導入:
      5.0
    • setAcceptLanguageAsLocales

      public void setAcceptLanguageAsLocales(ListSE<LocaleSE> locales)
      LocaleSE を使用した setAcceptLanguage(List) のバリアント。
      導入:
      5.0
    • getAcceptLanguageAsLocales

      public ListSE<LocaleSE> getAcceptLanguageAsLocales()
      Locale.LanguageRangeSELocaleSE に変換する getAcceptLanguage() のバリアント。
      戻り値:
      ロケールまたは空のリスト
      例外:
      IllegalArgumentExceptionSE - 値をロケールに変換できない場合
      導入:
      5.0
    • setAcceptPatch

      public void setAcceptPatch(ListSE<MediaType> mediaTypes)
      Accept-Patch ヘッダーで指定されているように、PATCH メソッドで受け入れ可能なメディア型のリストを設定します。
      導入:
      5.3.6
    • getAcceptPatch

      public ListSE<MediaType> getAcceptPatch()
      Accept-Patch ヘッダーで指定されているように、PATCH メソッドで受け入れ可能なメディア型のリストを返します。

      受け入れ可能なメディア型が指定されていない場合、空のリストを返します。

      導入:
      5.3.6
    • setAccessControlAllowCredentials

      public void setAccessControlAllowCredentials(boolean allowCredentials)
      Access-Control-Allow-Credentials レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlAllowCredentials

      public boolean getAccessControlAllowCredentials()
      Access-Control-Allow-Credentials レスポンスヘッダーの値を返します。
    • setAccessControlAllowHeaders

      public void setAccessControlAllowHeaders(ListSE<StringSE> allowedHeaders)
      Access-Control-Allow-Headers レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlAllowHeaders

      public ListSE<StringSE> getAccessControlAllowHeaders()
      Access-Control-Allow-Headers レスポンスヘッダーの値を返します。
    • setAccessControlAllowMethods

      public void setAccessControlAllowMethods(ListSE<HttpMethod> allowedMethods)
      Access-Control-Allow-Methods レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlAllowMethods

      public ListSE<HttpMethod> getAccessControlAllowMethods()
      Access-Control-Allow-Methods レスポンスヘッダーの値を返します。
    • setAccessControlAllowOrigin

      public void setAccessControlAllowOrigin(@Nullable StringSE allowedOrigin)
      Access-Control-Allow-Origin レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlAllowOrigin

      public @Nullable StringSE getAccessControlAllowOrigin()
      Access-Control-Allow-Origin レスポンスヘッダーの値を返します。
    • setAccessControlExposeHeaders

      public void setAccessControlExposeHeaders(ListSE<StringSE> exposedHeaders)
      Access-Control-Expose-Headers レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlExposeHeaders

      public ListSE<StringSE> getAccessControlExposeHeaders()
      Access-Control-Expose-Headers レスポンスヘッダーの値を返します。
    • setAccessControlMaxAge

      public void setAccessControlMaxAge(DurationSE maxAge)
      Access-Control-Max-Age レスポンスヘッダーの(新しい)値を設定します。
      導入:
      5.2
    • setAccessControlMaxAge

      public void setAccessControlMaxAge(long maxAge)
      Access-Control-Max-Age レスポンスヘッダーの(新しい)値を設定します。
    • getAccessControlMaxAge

      public long getAccessControlMaxAge()
      Access-Control-Max-Age レスポンスヘッダーの値を返します。

      最大経過時間が不明な場合は -1 を返します。

    • setAccessControlRequestHeaders

      public void setAccessControlRequestHeaders(ListSE<StringSE> requestHeaders)
      Access-Control-Request-Headers リクエストヘッダーの(新しい)値を設定します。
    • getAccessControlRequestHeaders

      public ListSE<StringSE> getAccessControlRequestHeaders()
      Access-Control-Request-Headers リクエストヘッダーの値を返します。
    • setAccessControlRequestMethod

      public void setAccessControlRequestMethod(@Nullable HttpMethod requestMethod)
      Access-Control-Request-Method リクエストヘッダーの(新しい)値を設定します。
    • getAccessControlRequestMethod

      public @Nullable HttpMethod getAccessControlRequestMethod()
      Access-Control-Request-Method リクエストヘッダーの値を返します。
    • setAcceptCharset

      public void setAcceptCharset(ListSE<CharsetSE> acceptableCharsets)
      Accept-Charset ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。
    • getAcceptCharset

      public ListSE<CharsetSE> getAcceptCharset()
      Accept-Charset ヘッダーで指定されているように、受け入れ可能な文字セットのリストを返SEします。
    • setAllow

      public void setAllow(SetSE<HttpMethod> allowedMethods)
      Allow ヘッダーの指定に従って、許可された HTTP methods のセットを設定します。
    • getAllow

      public SetSE<HttpMethod> getAllow()
      Allow ヘッダーで指定されている、許可された HTTP methods のセットを返します。

      許可されたメソッドが指定されていない場合、空のセットを返します。

    • setBasicAuth

      public void setBasicAuth(StringSE username, StringSE password)
      指定されたユーザー名とパスワードに基づいて、Authorization ヘッダーの値を Basic Authentication に設定します。

      このメソッドは、ISO-8859-1SE 文字セットの文字のみをサポートすることに注意してください。

      パラメーター:
      username - ユーザー名
      password - パスワード
      例外:
      IllegalArgumentExceptionSE - user または password に ISO-8859-1 にエンコードできない文字が含まれている場合
      導入:
      5.1
      関連事項:
    • setBasicAuth

      public void setBasicAuth(StringSE username, StringSE password, @Nullable CharsetSE charset)
      指定されたユーザー名とパスワードに基づいて、Authorization ヘッダーの値を Basic Authentication に設定します。
      パラメーター:
      username - ユーザー名
      password - パスワード
      charset - 資格情報をオクテットシーケンスに変換するために使用する文字セット。デフォルトは ISO-8859-1SE です。
      例外:
      IllegalArgumentExceptionSE - username または password に、指定された文字セットにエンコードできない文字が含まれている場合
      導入:
      5.1
      関連事項:
    • setBasicAuth

      public void setBasicAuth(StringSE encodedCredentials)
      指定されたエンコードされた資格情報に基づいて、Authorization ヘッダーの値を Basic Authentication に設定します。

      エンコードされた資格情報をキャッシュする場合は、setBasicAuth(String, String) および setBasicAuth(String, String, Charset) よりもこの方法を優先してください。

      パラメーター:
      encodedCredentials - エンコードされた資格情報
      例外:
      IllegalArgumentExceptionSE - 指定された資格情報文字列が null または空白の場合
      導入:
      5.2
      関連事項:
    • setBearerAuth

      public void setBearerAuth(StringSE token)
      Authorization ヘッダーの値を、指定された Bearer トークンに設定します。
      パラメーター:
      token - Base64 でエンコードされたトークン
      導入:
      5.1
      関連事項:
    • setCacheControl

      public void setCacheControl(CacheControl cacheControl)
      設定された CacheControl インスタンスを Cache-Control ヘッダーの新しい値として設定します。
      導入:
      5.0.5
    • setCacheControl

      public void setCacheControl(@Nullable StringSE cacheControl)
      Cache-Control ヘッダーの(新しい)値を設定します。
    • getCacheControl

      public @Nullable StringSE getCacheControl()
      Cache-Control ヘッダーの値を返します。
    • setConnection

      public void setConnection(StringSE connection)
      Connection ヘッダーの(新しい)値を設定します。
    • setConnection

      public void setConnection(ListSE<StringSE> connection)
      Connection ヘッダーの(新しい)値を設定します。
    • getConnection

      public ListSE<StringSE> getConnection()
      Connection ヘッダーの値を返します。
    • setContentDispositionFormData

      public void setContentDispositionFormData(StringSE name, @Nullable StringSE filename)
      "multipart/form-data" リクエストを作成するときに Content-Disposition ヘッダーを設定します。

      通常、アプリケーションはこのヘッダーを直接設定するのではなく、各パーツのオブジェクトまたは Resource を含む MultiValueMap<String, Object> を準備し、それを RestTemplate または WebClient に渡します。

      パラメーター:
      name - コントロール名
      filename - ファイル名 (null の場合があります)
      関連事項:
    • setContentDisposition

      public void setContentDisposition(ContentDisposition contentDisposition)
      Content-Disposition ヘッダーを設定します。

      これは、コンテンツがブラウザーにインラインで表示されるか、ローカルに保存される添付ファイルとして表示されるかを示すために、レスポンスで使用できます。

      また、"multipart/form-data" リクエストにも使用できます。詳細については、setContentDispositionFormData(java.lang.String, java.lang.String) に関する注記を参照してください。

      導入:
      5.0
      関連事項:
    • getContentDisposition

      public ContentDisposition getContentDisposition()
      Content-Disposition ヘッダーの解析された表現を返します。
      導入:
      5.0
      関連事項:
    • setContentLanguage

      public void setContentLanguage(@Nullable LocaleSE locale)
      Content-Language ヘッダーの指定に従って、コンテンツ言語の LocaleSE を設定します。

      複数のコンテンツ言語を設定する必要がある場合は、put(CONTENT_LANGUAGE, list) を使用してください。

      導入:
      5.0
    • getContentLanguage

      public @Nullable LocaleSE getContentLanguage()
      Content-Language ヘッダーで指定されている、コンテンツ言語の最初の LocaleSE を取得します。

      複数のコンテンツ言語を取得する必要がある場合は、getValuesAsList(String) を使用してください。

      戻り値:
      コンテンツ言語の最初の Locale、または不明の場合は null 
      導入:
      5.0
    • setContentLength

      public void setContentLength(long contentLength)
      Content-Length ヘッダーで指定されているように、本文の長さをバイト単位で設定します。
      パラメーター:
      contentLength - コンテンツの長さ (ゼロ以上)
      例外:
      IllegalArgumentExceptionSE - コンテンツの長さが負の場合
    • getContentLength

      public long getContentLength()
      Content-Length ヘッダーで指定されているように、本文の長さをバイト単位で返します。

      コンテンツの長さが不明な場合は -1 を返します。

    • setContentType

      public void setContentType(@Nullable MediaType mediaType)
      Content-Type ヘッダーで指定されているように、本文のメディア型を設定します。
    • getContentType

      public @Nullable MediaType getContentType()
      Content-Type ヘッダーで指定されたボディのメディア型を返します。

      Content-Type ヘッダーが設定されていない場合は、null を返します。

      例外:
      InvalidMediaTypeException - メディア型の値を解析できない場合
    • setDate

      public void setDate(ZonedDateTimeSE date)
      Date ヘッダーの指定に従って、メッセージが作成された日付と時刻を設定します。
      導入:
      5.2
    • setDate

      public void setDate(InstantSE date)
      Date ヘッダーの指定に従って、メッセージが作成された日付と時刻を設定します。
      導入:
      5.2
    • setDate

      public void setDate(long date)
      Date ヘッダーの指定に従って、メッセージが作成された日付と時刻を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

    • getDate

      public long getDate()
      Date ヘッダーで指定された、メッセージが作成された日付と時刻を返します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として返されます。日付が不明な場合は -1 を返します。

      例外:
      IllegalArgumentExceptionSE - 値を日付に変換できない場合
    • setETag

      public void setETag(@Nullable StringSE tag)
      ETag ヘッダーで指定されているように、本文の(新しい)エンティティタグを設定します。
    • getETag

      public @Nullable StringSE getETag()
      ETag ヘッダーで指定されているように、本文のエンティティタグを返します。
    • setExpires

      public void setExpires(ZonedDateTimeSE expires)
      Expires ヘッダーの指定に従って、メッセージが無効になるまでの期間を設定します。
      導入:
      5.0.5
    • setExpires

      public void setExpires(InstantSE expires)
      Expires ヘッダーの指定に従って、メッセージが無効になる日付と時刻を設定します。
      導入:
      5.2
    • setExpires

      public void setExpires(long expires)
      Expires ヘッダーの指定に従って、メッセージが無効になる日付と時刻を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

    • getExpires

      public long getExpires()
      Expires ヘッダーで指定されているように、メッセージが無効になった日付と時刻を返します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として返されます。日付が不明な場合は -1 を返します。

      関連事項:
    • setHost

      public void setHost(@Nullable InetSocketAddressSE host)
      Host ヘッダーの(新しい)値を設定します。

      指定されたポートが 0 の場合、ホストヘッダーにはホスト名のみが含まれます。

      導入:
      5.0
    • getHost

      public @Nullable InetSocketAddressSE getHost()
      Host ヘッダーの値を返します(使用可能な場合)。

      ヘッダー値にポートが含まれていない場合、返されるアドレスのポートは 0 になります。

      導入:
      5.0
    • setIfMatch

      public void setIfMatch(StringSE ifMatch)
      If-Match ヘッダーの(新しい)値を設定します。
      導入:
      4.3
    • setIfMatch

      public void setIfMatch(ListSE<StringSE> ifMatchList)
      If-Match ヘッダーの(新しい)値を設定します。
      導入:
      4.3
    • getIfMatch

      public ListSE<StringSE> getIfMatch()
      If-Match ヘッダーの値を返します。
      例外:
      IllegalArgumentExceptionSE - 解析が失敗した場合
      導入:
      4.3
    • setIfModifiedSince

      public void setIfModifiedSince(ZonedDateTimeSE ifModifiedSince)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setIfModifiedSince

      public void setIfModifiedSince(InstantSE ifModifiedSince)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setIfModifiedSince

      public void setIfModifiedSince(long ifModifiedSince)
      If-Modified-Since ヘッダーの(新しい)値を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

    • getIfModifiedSince

      public long getIfModifiedSince()
      If-Modified-Since ヘッダーの値を返します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として返されます。日付が不明な場合は -1 を返します。

      関連事項:
    • setIfNoneMatch

      public void setIfNoneMatch(StringSE ifNoneMatch)
      If-None-Match ヘッダーの(新しい)値を設定します。
    • setIfNoneMatch

      public void setIfNoneMatch(ListSE<StringSE> ifNoneMatchList)
      If-None-Match ヘッダーの(新しい)値を設定します。
    • getIfNoneMatch

      public ListSE<StringSE> getIfNoneMatch()
      If-None-Match ヘッダーの値を返します。
      例外:
      IllegalArgumentExceptionSE - 解析が失敗した場合
    • setIfUnmodifiedSince

      public void setIfUnmodifiedSince(ZonedDateTimeSE ifUnmodifiedSince)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setIfUnmodifiedSince

      public void setIfUnmodifiedSince(InstantSE ifUnmodifiedSince)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setIfUnmodifiedSince

      public void setIfUnmodifiedSince(long ifUnmodifiedSince)
      If-Unmodified-Since ヘッダーの(新しい)値を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

      導入:
      4.3
    • getIfUnmodifiedSince

      public long getIfUnmodifiedSince()
      If-Unmodified-Since ヘッダーの値を返します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として返されます。日付が不明な場合は -1 を返します。

      導入:
      4.3
      関連事項:
    • setLastModified

      public void setLastModified(ZonedDateTimeSE lastModified)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setLastModified

      public void setLastModified(InstantSE lastModified)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。
      導入:
      5.1.4
    • setLastModified

      public void setLastModified(long lastModified)
      Last-Modified ヘッダーの指定に従って、リソースが最後に変更された時刻を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

    • getLastModified

      public long getLastModified()
      Last-Modified ヘッダーで指定されている、リソースが最後に変更された時刻を返します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として返されます。日付が不明な場合は -1 を返します。

      関連事項:
    • setLocation

      public void setLocation(@Nullable URISE location)
      Location ヘッダーの指定に従って、リソースの(新しい)場所を設定します。
    • getLocation

      public @Nullable URISE getLocation()
      Location ヘッダーで指定されたリソースの(新しい)ロケーションを返します。

      場所が不明な場合は null を返します。

    • setOrigin

      public void setOrigin(@Nullable StringSE origin)
      Origin ヘッダーの(新しい)値を設定します。
    • getOrigin

      public @Nullable StringSE getOrigin()
      Origin ヘッダーの値を返します。
    • setPragma

      public void setPragma(@Nullable StringSE pragma)
      Pragma ヘッダーの(新しい)値を設定します。
    • getPragma

      public @Nullable StringSE getPragma()
      Pragma ヘッダーの値を返します。
    • setRange

      public void setRange(ListSE<HttpRange> ranges)
      Range ヘッダーの(新しい)値を設定します。
    • getRange

      public ListSE<HttpRange> getRange()
      Range ヘッダーの値を返します。

      範囲が不明な場合、空のリストを返します。

    • setUpgrade

      public void setUpgrade(@Nullable StringSE upgrade)
      Upgrade ヘッダーの(新しい)値を設定します。
    • getUpgrade

      public @Nullable StringSE getUpgrade()
      Upgrade ヘッダーの値を返します。
    • setVary

      public void setVary(ListSE<StringSE> requestHeaders)
      レスポンスがコンテンツネゴシエーションの対象となるリクエストヘッダー名 (たとえば、"Accept-Language" ) を設定し、それらのリクエストヘッダーの値に基づいて差異を決定します。
      パラメーター:
      requestHeaders - リクエストヘッダー名
      導入:
      4.3
    • getVary

      public ListSE<StringSE> getVary()
      コンテンツネゴシエーションの対象となるリクエストヘッダー名を返します。
      導入:
      4.3
    • setZonedDateTime

      public void setZonedDateTime(StringSE headerName, ZonedDateTimeSE date)
      RFC-1123 日時フォーマッタを使用して文字列としてフォーマットした後、特定のヘッダー名に特定の日付を設定します。set(String, String) と同等ですが、日付ヘッダー用です。
      導入:
      5.0
    • setInstant

      public void setInstant(StringSE headerName, InstantSE date)
      RFC-1123 日時フォーマッタを使用して文字列としてフォーマットした後、特定のヘッダー名に特定の日付を設定します。set(String, String) と同等ですが、日付ヘッダー用です。
      導入:
      5.1.4
    • setDate

      public void setDate(StringSE headerName, long date)
      RFC-1123 日時フォーマッタを使用して文字列としてフォーマットした後、特定のヘッダー名に特定の日付を設定します。set(String, String) と同等ですが、日付ヘッダー用です。
      導入:
      3.2.4
      関連事項:
    • getFirstDate

      public long getFirstDate(StringSE headerName)
      指定されたヘッダー名の最初のヘッダー値を日付として解析し、値がない場合は -1 を返し、値を日付として解析できない場合は IllegalArgumentExceptionSE を上げます。
      パラメーター:
      headerName - ヘッダー名
      戻り値:
      解析された日付ヘッダー。ない場合は -1
      導入:
      3.2.4
      関連事項:
    • getFirstZonedDateTime

      public @Nullable ZonedDateTimeSE getFirstZonedDateTime(StringSE headerName)
      指定されたヘッダー名の最初のヘッダー値を日付として解析し、値がない場合は null を返します。値を日付として解析できない場合は IllegalArgumentExceptionSE を返します。
      パラメーター:
      headerName - ヘッダー名
      戻り値:
      解析された日付ヘッダー。ない場合は null 
      導入:
      5.0
    • getValuesAsList

      public ListSE<StringSE> getValuesAsList(StringSE headerName)
      このヘッダーが複数回設定されている場合でも、指定されたヘッダー名のすべての値を返します。

      このメソッドは、RFC 9110、セクション 5.5 に従って、二重引用符で囲まれた値をサポートしています。

      パラメーター:
      headerName - ヘッダー名
      戻り値:
      関連するすべての値
      導入:
      4.3
    • clearContentHeaders

      public void clearContentHeaders()
      既知の "Content-*" HTTP ヘッダーを削除します。

      エラーのために意図した本文を書き込めない場合は、そのようなヘッダーをレスポンスからクリアする必要があります。

      導入:
      5.2.3
    • getETagValuesAsList

      protected ListSE<StringSE> getETagValuesAsList(StringSE name)
      ETag ヘッダーのフィールド値から結合結果を取得します。
      パラメーター:
      name - ヘッダー名
      戻り値:
      組み合わせた結果
      例外:
      IllegalArgumentExceptionSE - 解析が失敗した場合
      導入:
      4.3
    • getFieldValues

      protected @Nullable StringSE getFieldValues(StringSE headerName)
      多値ヘッダーのフィールド値から結合された結果を取得します。
      パラメーター:
      headerName - ヘッダー名
      戻り値:
      組み合わせた結果
      導入:
      4.3
    • toCommaDelimitedString

      protected StringSE toCommaDelimitedString(ListSE<StringSE> headerValues)
      与えられたヘッダー値のリストをコンマ区切りの結果に変換します。
      パラメーター:
      headerValues - ヘッダー値のリスト
      戻り値:
      コンマ区切りの組み合わせ結果
    • getFirst

      public @Nullable StringSE getFirst(StringSE headerName)
      指定されたヘッダー名の最初のヘッダー値があれば、それを返します。
      パラメーター:
      headerName - ヘッダー名
      戻り値:
      最初のヘッダー値、ない場合は null 
    • add

      public void add(StringSE headerName, @Nullable StringSE headerValue)
      指定された名前に、指定された単一のヘッダー値を追加します。
      パラメーター:
      headerName - ヘッダー名
      headerValue - ヘッダー値
      例外:
      UnsupportedOperationExceptionSE - ヘッダーの追加がサポートされていない場合
      関連事項:
    • addAll

      public void addAll(StringSE headerName, ListSE<? extends StringSE> headerValues)
      指定された名前に指定されたすべての値を追加します。

      値は List として表現されるため、重複した値が発生する可能性があります。値のリストを置き換えるには、put(String, List) を参照してください。

      パラメーター:
      headerName - ヘッダー名
      headerValues - 追加する値
      関連事項:
    • addAll

      public void addAll(HttpHeaders headers)
      指定された HttpHeaders のすべての値を現在のヘッダーに追加します。

      値は List として表現されるため、重複した値が発生する可能性があります。各ヘッダー名の値のリストを置き換えるには、putAll(HttpHeaders) を参照してください。

      パラメーター:
      headers - 追加するヘッダー
      導入:
      7.0
      関連事項:
    • set

      public void set(StringSE headerName, @Nullable StringSE headerValue)
      指定された名前に、指定された単一のヘッダー値を設定します。
      パラメーター:
      headerName - ヘッダー名
      headerValue - ヘッダー値
      例外:
      UnsupportedOperationExceptionSE - ヘッダーの追加がサポートされていない場合
      関連事項:
    • setAll

      public void setAll(MapSE<StringSE,StringSE> values)
      指定されたマップから、対応する名前ごとにすべての単一ヘッダー値を設定します。
      パラメーター:
      values - 名前と単一値のペア
      関連事項:
    • toSingleValueMap

      public MapSE<StringSE,StringSE> toSingleValueMap()
      この HttpHeaders を、各ヘッダー名の最初の値を持つ Map として返します。

      このメソッドと asSingleValueMap() メソッドの違いは、このメソッドがヘッダーのコピーを返すのに対し、asSingleValueMap() メソッドはビューを返すことです。このコピーにより、entrySet() のようなコレクション反復メソッドは大文字と小文字を区別しなくなります。

      戻り値:
      これらのヘッダーの単一の値表現
    • asSingleValueMap

      @DeprecatedSE(since="7.0", forRemoval=true) public MapSE<StringSE,StringSE> asSingleValueMap()
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      toSingleValueMap() はコピーを実行しますが、entrySet() のようなコレクション反復メソッドが大文字と小文字を区別しないことを保証します。
      この HttpHeaders を、各ヘッダー名の最初の値を持つ Map として返します。

      このメソッドと toSingleValueMap() メソッドの違いは、このメソッドはヘッダーのビューを返すのに対し、toSingleValueMap() メソッドはコピーを返すことです。また、このメソッドは、指定されたヘッダー名に複数の大文字小文字のバリエーションが含まれる可能性があります。asMultiValueMap() の Javadoc を参照してください。

      戻り値:
      これらのヘッダーの単一の値表現
    • asMultiValueMap

      @DeprecatedSE(since="7.0", forRemoval=true) public MultiValueMap<StringSE,StringSE> asMultiValueMap()
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      このメソッドは、マップのみを受け入れる API との下位互換性のために提供されています。通常、HttpHeaders をマップまたは MultiValueMap として使用することは避けてください。
      この HttpHeaders を、各ヘッダー名の完全な値のリストを含む MultiValueMap として返します。

      一部のバッキングサーバーヘッダー実装では、大文字と小文字を区別してヘッダー名を保存できるため、entrySet() などのメソッドでの反復処理中に重複が発生します。大文字と小文字に応じてヘッダー名が複数回出現する可能性がありますが、このような各エントリには完全な List の値が含まれます。

      戻り値:
      これらのヘッダーの MultiValueMap 表現
      導入:
      7.0
    • isEmpty

      public boolean isEmpty()
      この HttpHeaders にヘッダーエントリが含まれていない場合は、true を返します。
    • containsHeader

      public boolean containsHeader(StringSE headerName)
      この HttpHeaders に指定されたヘッダー名のエントリが含まれている場合は、true を返します。
      パラメーター:
      headerName - ヘッダー名
      導入:
      7.0
    • hasHeaderValues

      public boolean hasHeaderValues(StringSE headerName, ListSE<StringSE> values)
      この HttpHeaders に、指定されたヘッダー名に対して指定された値のリストが正確に含まれている場合は、true を返します。
      パラメーター:
      headerName - ヘッダー名
      values - 期待される値のリスト
      導入:
      7.0
    • containsHeaderValue

      public boolean containsHeaderValue(StringSE headerName, StringSE value)
      この HttpHeaders に指定されたヘッダーが含まれ、その値のリストに指定された値が含まれている場合は、true を返します。
      パラメーター:
      headerName - ヘッダー名
      value - 値のリストに含まれると予想される値
      導入:
      7.0
    • get

      public @Nullable ListSE<StringSE> get(StringSE headerName)
      指定されたヘッダー名に関連付けられた値のリスト、または null を取得します。

      二重引用符で囲まれた値のサポートを確実にするには、getValuesAsList(String) も参照してください。

      パラメーター:
      headerName - ヘッダー名
      導入:
      7.0
      関連事項:
    • put

      public @Nullable ListSE<StringSE> put(StringSE headerName, ListSE<StringSE> headerValues)
      指定されたヘッダー名に関連付けられた値のリストを設定します。以前の値のリストを返します。ヘッダーが存在しない場合は null を返します。
      パラメーター:
      headerName - ヘッダー名
      headerValues - 新しい価値観
      戻り値:
      指定されたヘッダー名の古い値
    • putIfAbsent

      public @Nullable ListSE<StringSE> putIfAbsent(StringSE headerName, ListSE<StringSE> headerValues)
      指定されたヘッダー名がこの HttpHeaders にまだ存在しない場合、そのヘッダー名にヘッダー値を設定し、null を返します。ヘッダーがすでに存在する場合は、代わりに関連付けられた値のリストを返します。
      パラメーター:
      headerName - ヘッダー名
      headerValues - ヘッダーが存在しない場合に設定するヘッダー値
      戻り値:
      前の値または null
    • putAll

      public void putAll(HttpHeaders headers)
      指定された HttpHeaders のすべてのエントリをこの HttpHeaders に格納します。
      パラメーター:
      headers - 指定されたヘッダー
      導入:
      7.0
      関連事項:
    • putAll

      public void putAll(MapSE<? extends StringSE, ? extends ListSE<StringSE>> headers)
      指定された MultiValueMap のすべてのエントリをこの HttpHeaders に格納します。
      パラメーター:
      headers - 指定されたヘッダー
      関連事項:
    • remove

      public @Nullable ListSE<StringSE> remove(StringSE key)
      この HttpHeaders インスタンスからヘッダーを削除し、関連付けられた値リストを返します。そのヘッダーが存在しない場合は、null を返します。
      パラメーター:
      key - 削除するヘッダーの名前
      戻り値:
      削除されたヘッダー名に関連付けられた値リスト
      導入:
      7.0
    • clear

      public void clear()
      この HttpHeaders インスタンスからすべてのヘッダーを削除します。
    • size

      public int size()
      コレクション内のヘッダーの数を返します。これは増加される可能性があります。class level javadoc を参照してください。
    • forEach

      public void forEach(BiConsumerSE<? super StringSE, ? super ListSE<StringSE>> action)
      headerSet() を介して反復処理する場合と同様に、各ヘッダーに対してアクションを実行します。
      パラメーター:
      action - 各エントリに対して実行されるアクション
    • headerSet

      public SetSE<Map.EntrySE<StringSE, ListSE<StringSE>>> headerSet()
      キーリストペアのエントリ Set としてヘッダーのビューを返します。Iterator.remove()Map.Entry.setValue(V)SE の両方がサポートされており、ヘッダーを変更します。

      このコレクションには、バッキング構造に複数の大文字と小文字の異なる名前が格納されている場合でも、反復処理をフィルタリングするために大文字と小文字を区別しないセットに最初に名前をコピーするというコストをかけて、ヘッダー名ごとに 1 つのエントリが含まれることが保証されます。

      戻り値:
      大文字と小文字を区別せずにすべてのヘッダーを反復処理する Set ビュー
      導入:
      6.1.15
    • headerNames

      public SetSE<StringSE> headerNames()
      ヘッダー名のセットを返します。Set.remove(Object)SESet.clear() の両方の演算がサポートされており、ヘッダーを変更します。

      このコレクションには、バックエンド構造に複数の大文字小文字のバリエーションが格納されている場合でも、各ヘッダー名の大文字小文字のバリエーションが 1 つだけ含まれることが保証されます。最初に検出されたバリエーションが保持されます。

      戻り値:
      すべてのヘッダー名の Set 
      導入:
      7.0
    • equals

      public boolean equals(@Nullable ObjectSE other)
      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode 
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • readOnlyHttpHeaders

      public static HttpHeaders readOnlyHttpHeaders(MultiValueMap<StringSE,StringSE> headers)
      必要に応じて、指定されたヘッダーの周囲に読み取り専用の HttpHeaders ラッパーを適用します。

      また、"Accept" および "Content-Type" ヘッダーの解析された表現をキャッシュします。

      パラメーター:
      headers - 公開するヘッダー
      戻り値:
      ヘッダーの読み取り専用バリアント、または元のヘッダーをそのまま (すでに読み取り専用の HttpHeaders インスタンスである場合)
      導入:
      5.3
    • readOnlyHttpHeaders

      public static HttpHeaders readOnlyHttpHeaders(HttpHeaders headers)
      必要に応じて、指定されたヘッダーの周囲に読み取り専用の HttpHeaders ラッパーを適用します。

      また、"Accept" および "Content-Type" ヘッダーの解析された表現をキャッシュします。

      パラメーター:
      headers - 公開するヘッダー
      戻り値:
      ヘッダーの読み取り専用バージョン、またはすでに読み取り専用である場合は元のヘッダーをそのまま
    • formatHeaders

      public static StringSE formatHeaders(MultiValueMap<StringSE,StringSE> headers)
      HTTP ヘッダー値自体にコンマ区切り値を含めることができるため、HTTP ヘッダー値をフォーマットできます。また、エントリ間にコンマを使用する通常の MapSE フォーマットと混同する可能性があります。

      さらに、このメソッドは、基礎となる実装がヘッダー名の大文字と小文字の複数のバリエーションを格納する場合 (class level javadoc を参照)、with native header names という記述を含むヘッダー名のネイティブリストを表示します。

      パラメーター:
      headers - フォーマットするヘッダー
      戻り値:
      文字列へのヘッダー
      導入:
      5.1.4
    • encodeBasicAuth

      public static StringSE encodeBasicAuth(StringSE username, StringSE password, @Nullable CharsetSE charset)
      指定されたユーザー名とパスワードを基本認証資格情報にエンコードします。

      このメソッドによって返されるエンコードされた資格情報を setBasicAuth(String) に提供して、基本認証ヘッダーを設定できます。

      パラメーター:
      username - ユーザー名
      password - パスワード
      charset - 資格情報をオクテットシーケンスに変換するために使用する文字セット。デフォルトは ISO-8859-1SE です。
      例外:
      IllegalArgumentExceptionSE - username または password に、指定された文字セットにエンコードできない文字が含まれている場合
      導入:
      5.2
      関連事項: