簡體   English   中英

Spring Data Rest Bean驗證國際化

[英]Spring data rest Bean Validation Internationalization

我是春季特別是春季引導的新手,我正在嘗試使用國際化,到目前為止,我與普通控制器配合使用都很好,但是我不能使其與使用spring-data-rest的Bean驗證一起使用。

我正在使用以下代碼啟動該應用程序:

@EnableJpaRepositories
@SpringBootApplication
@EnableWebMvc
public class Application extends WebMvcConfigurerAdapter {

    @Bean(name = "validator")
    public LocalValidatorFactoryBean validator() {
        return new LocalValidatorFactoryBean();
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        slr.setDefaultLocale(Locale.US);
        return slr;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        lci.setParamName("lang");
        return lci;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
    }
}

我可以在Controllers中使用區域設置,但是我不能使Bean驗證尊重其他區域設置,它始終使用默認區域設置。

有什么幫助嗎?

我在1.2.5.RELEASE版本中使用spring-data-rest和spring-boot。

我找到了解決方案,因為沒有人幫助我發布信息,因為可以幫助其他人。

如果我沒有在SessionLocaleResolver上設置默認位置,它將從Accept-Header獲取語言環境,因此我可以工作。

@Bean
public LocaleResolver localeResolver() {
    SessionLocaleResolver slr = new SessionLocaleResolver();
    // Remove this line
    // slr.setDefaultLocale(Locale.US); 
    return slr;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM