Как изменить ObjectMapper в проекте JHipster?

У меня возникли проблемы с настройкой ObjectMapper по умолчанию в JHipster, чтобы разрешить JsonViews, а также установить false FORCE_LAZY_LOADING собственность Hibernate4Module модуль.

Я попробовал три вещи без успеха:

1) Создать @Bean с использованием @Primary аннотация для замены бина по умолчанию:

@Bean
@Primary
public ObjectMapper viewsObjectMapper(){ 
     ObjectMapper mapper = new ObjectMapper();
     Hibernate4Module hibernateModule = new Hibernate4Module(); 
     hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, false);       mapper.registerModule(hibernateModule);
     mapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);
     return mapper;
 }

2) я модифицировал @BeanHibernate4Module в DatabaseConfiguration Класс следующим образом:

@Bean
public Hibernate4Module hibernate4Module() {
    Hibernate4Module hibernateModule = new Hibernate4Module();
    hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, true);
    return hibernateModule;
}

3) И это решение.

Любая помощь будет оценена.

1 ответ

Решение

Вы можете сделать это, как указано в документации Spring Boot. В Spring Boot нет необходимости объявлять ObjectMapper в @Configuration класс, который расширяет WebMvcConfigurationSupport, JHipster создает @Configuration класс с именем WebConfigurer, где вы можете поместить этот код:

@Bean
public ObjectMapper viewsObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION);    
    Hibernate4Module hibernateModule = new Hibernate4Module();
    hibernateModule.configure(Hibernate4Module.Feature.FORCE_LAZY_LOADING, false);          
    objectMapper.registerModule(hibernateModule);       
    return objectMapper;
}

@Bean
public MappingJackson2HttpMessageConverter jackson2Converter() {
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setObjectMapper(viewsObjectMapper());          
    return converter;
} 
Другие вопросы по тегам