Java Spring数据restbean验证国际化

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")

我是spring新手,特别是spring boot,我正在尝试使用国际化,到目前为止,我在普通控制器上使用的很好,但我无法使用spring数据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());
    }
}
我可以在控制器中很好地使用区域设置,但我不能让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实体字段国际化。