Я использую пружинную загрузку и библиотеку Джексона, и я хочу, чтобы YAMLMapper
и по умолчанию ObjectMapper
были доступны для автоматического подключения. Я подумал, что достаточно выставить YAMLMapper без @Primary
, но когда я делаю это, значение по умолчанию ObjectMapper
также перезаписывается, делая весь мой код, который ожидает ObjectMapper
с экземпляром YAMLMapper
.
* 1010. * Это то, что у меня сейчас
@Configuration
public class JacksonConfiguration {
@Bean
public YAMLMapper yamlMapper() {
final var yamlMapper = new YAMLMapper();
yamlMapper.findAndRegisterModules();
return yamlMapper;
}
}
Но как я могу получить YAMLMapper
и ObjectMapper
по умолчанию, созданные Spring boot? Я имею в виду, если я автоматически подключаю ObjectMapper
, я не хочу использовать экземпляр YAMLMapper
, только когда я использую специфицированный c YAMLMapper
класс.
I ' Я пытаюсь избежать двух @Bean
определений, потому что я хочу повторно использовать всю конфигурацию загрузки Spring, а также определенные свойства json в application.properties.
Одним из следствий моей текущей конфигурации, как указано выше, является то, что все мои ответы теперь YAML, потому что внутри кода Spring, когда он использует ObjectMapper
auto-wire, он вводит мой YAMLMapper
вместо стандартного.
Если это невозможно, как я могу использовать стандартный по умолчанию, способный сериализовать и десериализовать как json, так и yaml?