Java Spring数据restbean验证国际化
我是spring新手,特别是spring boot,我正在尝试使用国际化,到目前为止,我在普通控制器上使用的很好,但我无法使用spring数据rest进行Bean验证 我正在使用以下代码启动应用程序:Java Spring数据restbean验证国际化,java,spring,spring-boot,spring-data-jpa,spring-data-rest,Java,Spring,Spring Boot,Spring Data Jpa,Spring Data Rest,我是spring新手,特别是spring boot,我正在尝试使用国际化,到目前为止,我在普通控制器上使用的很好,但我无法使用spring数据rest进行Bean验证 我正在使用以下代码启动应用程序: @EnableJpaRepositories @SpringBootApplication @EnableWebMvc public class Application extends WebMvcConfigurerAdapter { @Bean(name = "validator")
@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());
}
}
我可以在控制器中很好地使用区域设置,但我不能让Bean验证尊重其他区域设置,它总是使用默认区域设置
有什么帮助吗
我在1.2.5版中使用了spring data rest和spring boot。我找到了一个解决方案,因为没有人帮助我发布,因为我可以帮助其他人 如果我没有在SessionLocaleResolver上设置默认位置,它将从Accept头获取区域设置,这样我就可以工作了
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
// Remove this line
// slr.setDefaultLocale(Locale.US);
return slr;
}
我找到了一个解决方案,因为没有人帮助我,所以我在这里发帖,因为我可以帮助其他人 如果我没有在SessionLocaleResolver上设置默认位置,它将从Accept头获取区域设置,这样我就可以工作了
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
// Remove this line
// slr.setDefaultLocale(Locale.US);
return slr;
}
这是用于国际化实体字段还是用于错误消息?我也在尝试国际化spring数据rest实体字段。这是用于国际化实体字段还是错误消息?我也在尝试将spring数据rest实体字段国际化。