[英]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.