Проблема с setParamName для JSON Spring Boot - PullRequest
0 голосов
/ 05 августа 2020

Я использую i18n в весенней загрузке и в конфигурации сообщений, где он устанавливает язык, который мне нужен, чтобы передать параметр «en» или «es».

@Configuration
public class MessagesConfig implements WebMvcConfigurer{
    @Bean
      public LocaleResolver localeResolver() {
        SessionLocaleResolver localeResolver = new SessionLocaleResolver();
        localeResolver.setDefaultLocale(Locale.getDefault());
        return localeResolver;
      }

      @Bean
      public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
        localeInterceptor.setIgnoreInvalidLocale(true);
        localeInterceptor.setParamName("properties");
        
        return localeInterceptor;
      }
      
      
      @Override
      public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
      }
}

В setParamName я бы взял параметр языка, чтобы изменять его каждый раз, когда он достигает сообщения, но я не отправляю язык напрямую, я отправляю ему json свойства этого стиля:

{
  "language": "en",
  "type": "wed"
}

Цель состоит в том, чтобы каждый раз параметр properties передается, принимает только язык

  @PostMapping("/v1/saludo")
    @PreAuthorize("hasAnyRole('ADMIN','USER')")
    public String getSaludo(@RequestParam(name = "properties", required = false, defaultValue = "") String configProperties) {          
        return mensajes.getMessage("saludo.pais", null, LocaleContextHolder.getLocale());
        
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...