Я пытался реализовать изменение языка в WebFlux следующим образом:
- сайт устанавливает язык по умолчанию
- , когда пользователь регистрируется в своем предпочтении языка, загруженном в сеанс
- локаль также должна быть изменяемой параметром запроса
Для этой цели я бы скопировал AcceptHeaderLocaleContextResolver
'* resolveLocaleContext()
, но проблема: ServerWebExchange
' * getRequest()
возвращает ServerHttpRequest
, но getSession()
возвращает Mono<WebSession>
.Должен ли я сделать block()
здесь?Или есть какой-то другой способ добиться того, чего я хочу?
Кроме того, есть LanguageChangeInterceptor
-подобная вещь, или я тоже должен это реализовать?
Редактировать: метод resolveLocaleContext()
Я хотел бы изменить здесь , вместо exchange.getRequest().getHeaders()
Я бы написал что-то вроде exchange.getSession()...
, но он возвращает реактивный тип.