クラス AcceptHeaderLocaleContextResolver

java.lang.ObjectSE
org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver
実装されたすべてのインターフェース:
LocaleContextResolver

public class AcceptHeaderLocaleContextResolver extends ObjectSE implements LocaleContextResolver
Accept-Language ヘッダー内のロケールと構成済みのサポート対象ロケールのリストとの一致を探す LocaleContextResolver 実装。

サポートされているロケールとリクエストされたロケールが一致する方法の詳細については、setSupportedLocales(List) を参照してください。

メモ: Accept ヘッダーはクライアントのロケール設定を変更することによってのみ変更できるため、setLocaleContext(org.springframework.web.server.ServerWebExchange, org.springframework.context.i18n.LocaleContext) をサポートしていません。

導入:
5.0
作成者:
Sebastien Deleuze, Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • AcceptHeaderLocaleContextResolver

      public AcceptHeaderLocaleContextResolver()
  • メソッドの詳細

    • setSupportedLocales

      public void setSupportedLocales(ListSE<LocaleSE> locales)
      サポートされているロケールのリストを構成して、requested locales と比較および照合します。

      サポートされているロケールが一致すると見なされるためには、国と言語の両方で一致する必要があります。フォールバックとして言語のみの一致をサポートする場合は、サポートされているロケールとして言語を明示的に構成する必要があります。

      例: サポートされているロケールが ["de-DE","en-US"] の場合、"en-GB" のリクエストは一致せず、"en" のリクエストも一致しません。"en" などの特定の言語に対して追加のロケールをサポートする場合は、サポートされているロケールのリストにそれを追加する必要があります。

      一致するものがない場合は、defaultLocale が構成されている場合はそれが使用されるか、最初にリクエストされたロケールにフォールバックします。

      パラメーター:
      locales - サポートされているロケール
    • getSupportedLocales

      public ListSE<LocaleSE> getSupportedLocales()
      サポートされているロケールの構成済みリストを返します。
    • setDefaultLocale

      public void setDefaultLocale(@Nullable LocaleSE defaultLocale)
      リクエストに "Accept-Language" ヘッダーがない場合にフォールバックするように固定のデフォルトロケールを構成します(デフォルトでは設定されていません)。
      パラメーター:
      defaultLocale - 使用するデフォルトのロケール
    • getDefaultLocale

      @Nullable public LocaleSE getDefaultLocale()
      構成されたデフォルトのロケール(存在する場合)。

      このメソッドはサブクラスでオーバーライドできます。

    • resolveLocaleContext

      public LocaleContext resolveLocaleContext(ServerWebExchange exchange)
      インターフェースからコピーされた説明: LocaleContextResolver
      指定された交換を介して現在のロケールコンテキストを解決します。

      返されるコンテキストは、タイムゾーン情報が関連付けられたロケールを含む TimeZoneAwareLocaleContext である場合があります。instanceof チェックを適用し、それに応じてダウンキャストするだけです。

      カスタムリゾルバーの実装は、返されたコンテキストで追加の設定を返すこともありますが、これもダウンキャストを通じてアクセスできます。

      次で指定:
      インターフェース LocaleContextResolverresolveLocaleContext 
      パラメーター:
      exchange - 現在のサーバー交換
      戻り値:
      現在のロケールコンテキスト (非 null)
    • setLocaleContext

      public void setLocaleContext(ServerWebExchange exchange, @Nullable LocaleContext locale)
      インターフェースからコピーされた説明: LocaleContextResolver
      現在のロケールコンテキストを指定されたものに設定します。潜在的に関連するタイムゾーン情報を持つロケールを含みます。
      次で指定:
      インターフェース LocaleContextResolversetLocaleContext 
      パラメーター:
      exchange - 現在のサーバー交換
      locale - 新しいロケールコンテキスト、またはロケールをクリアする null 
      関連事項: