Доступно больше, чем ObjectMapper без переопределения по умолчанию для весенней загрузки, но с сохранением настроек по умолчанию - PullRequest
0 голосов
/ 22 апреля 2020

Я использую пружинную загрузку и библиотеку Джексона, и я хочу, чтобы 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...