可以使用多个ObjectMapper,而不会覆盖Spring Boot的默认设置,但保持默认设置

时间:2020-04-22 12:32:13

标签: spring spring-boot jackson

我正在使用spring boot和jackson库,我想使用YAMLMapper默认 ObjectMapper进行自动接线。我以为暴露没有@Primary的YAMLMapper就足够了,但是当我这样做时,默认ObjectMapper也会被覆盖,使得我所有期望ObjectMapper都具有{{1 }}。

这就是我现在拥有的

YAMLMapper

但是我如何同时拥有Spring Boot创建的@Configuration public class JacksonConfiguration { @Bean public YAMLMapper yamlMapper() { final var yamlMapper = new YAMLMapper(); yamlMapper.findAndRegisterModules(); return yamlMapper; } } 和默认YAMLMapper?我的意思是,如果我要自动连接ObjectMapper,则仅在使用特定的ObjectMapper类时,我才不想使用YAMLMapper实例。

我试图避免有两个YAMLMapper定义,因为我想重用所有Spring引导配置以及application.properties中定义的json属性。

如上所述,当前配置的一个结果是我所有的响应现在都是YAML,当它使用@Bean自动连接时会在Spring代码中引起,这是在注入ObjectMapper而不是默认的。

如果不可能的话,我该如何使用默认的序列号来对json和yaml进行序列化和反序列化?

0 个答案:

没有答案