OK. В сочетании с Ответом от Аникет выяснил, в чем дело, и все еще ищет более подробное объяснение.
Вместо создания экземпляра ObjectMapper как new ObjectMapper()
. Сборка с Mapper
исправлена.
Итак, два имеют несколько экземпляров ObjectMapper
@Primary
@Bean
public ObjectMapper objectMapper(){
return new Jackson2ObjectMapperBuilder()
.build();
}
@Bean("customMapper")
public ObjectMapper customMapper(){
ObjectMapper customMapper = new Jackson2ObjectMapperBuilder().build();
mapper.<your customization , filters, providers etc;>
return mapper;
}
. @Primary
будет использоваться во всех случаях по умолчанию, т.е. когда вы просто @Autowire
или сериализация по умолчанию, применяемая к вашему телу ответа / запроса вашим контроллером.
Чтобы использовать пользовательский сопоставитель, явно используйте с идентификатором компонента.
@Autowired @Qualifier("customMapper") ObjectMapper mapper;