Micronaut 地域解析

2023-03-02 17:18 更新

Micronaut 支持多種策略來解析給定請求的語言環(huán)境。 getLocale-- 方法可用于請求,但它僅支持解析 Accept-Language 標頭。對于區(qū)域設置可以在 cookie、用戶會話中或應設置為固定值的其他用例,HttpLocaleResolver 可用于確定當前區(qū)域設置。

不需要直接使用 LocaleResolver API。只需為 java.util.Locale 類型的控制器方法定義一個參數(shù),區(qū)域設置就會自動解析和注入。

有幾個配置選項可以控制如何解析語言環(huán)境:

表 1. HttpLocaleResolutionConfigurationProperties 的配置屬性
屬性 類型 描述

micronaut.server.locale-resolution

HttpServerConfiguration$HttpLocaleResolutionConfigurationProperties

語言環(huán)境解析配置

micronaut.server.locale-resolution.fixed

java.util.Locale

設置語言環(huán)境的語言標簽。支持 BCP 47 語言標簽(例如“en-US”)和 ISO 標準(例如“en_US”)。

micronaut.server.locale-resolution.session-attribute

java.lang.String

在會話中設置鍵以查找語言環(huán)境。

micronaut.server.locale-resolution.cookie-name

java.lang.String

設置用于存儲區(qū)域設置的 cookie 的名稱。

micronaut.server.locale-resolution.header

boolean

如果應從 Accept-Language 標頭解析區(qū)域設置,則設置為 true。默認值(真)。

micronaut.server.locale-resolution.default-locale

java.util.Locale

如果無法通過任何方式解析區(qū)域設置,則設置將使用的區(qū)域設置。默認為系統(tǒng)默認值。

語言環(huán)境可以配置為“en_GB”格式或 BCP 47(語言標簽)格式。如果配置了多個方法,則固定語言環(huán)境優(yōu)先,其次是會話/cookie,然后是標頭。

如果任何內(nèi)置方法不符合您的用例,請創(chuàng)建一個 HttpLocaleResolver 類型的 bean 并設置其相對于現(xiàn)有解析器的順序(通過 getOrder 方法)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號