У меня есть следующая ситуация, когда у меня есть несколько MappingJackson2HttpMessageConverter, оба из которых используют общий ObjectMapper, к которому добавлен один миксин.
@Bean
public ObjectMapper objectMapper(){
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.addMixin(Item.class, ItemMixin.class);
return objectMapper;
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(objectMapper());
return mappingJackson2HttpMessageConverter;
}
Приложение - SpringBoot (я знаю, что springboot работает самостоятельносоздание экземпляров сообщений по умолчанию), но проблема в том, что когда я вызываю конечную точку, у которой есть список возвращенных элементов, я получаю 500, потому что строка:
objectMapper.addMixin(Item.class, ItemMixin.class);
как-то ломается, и я не понимаю, почему.
@GetMappring(.....)
public List<Item> getItems(){
return Arrays.asList(new Item(1), new Item(2));
}
Я знаю, что по умолчанию контроллер весенней загрузки возвращает строку json, если ничего не указано. Код упрощен для лучшей читаемости.