gpt4 book ai didi

java - 在 spring boot 中使用默认的 objectmapper 注册 JavaTimeModule

转载 作者:行者123 更新时间:2023-11-30 07:51:37 25 4
gpt4 key购买 nike

我定义了一个 JavaTimeModule:

@Bean public Module java8TimeModule() {
JavaTimeModule javaTimeModule = new JavaTimeModule();
return javaTimeModule;
}

但是,它不会在默认的对象映射器中注册自己。我正在使用 jackson-databind-2.8.9.jar。

Eclipse IDE 中 JavaTimeModule() 的在线帮助是这样说的:

Note that as of 2.6, this module does NOT support auto-registration.

不确定 jackson-databind-2.8.9 是否仍然是同样的情况导致 JavaTimeModule 没有注册到默认的 objectmapper。

我不想创建一个新的对象映射器。和过去一样,当我尝试这样做时,我创建的 objectmapper 遇到了另一个问题。

Springboot 文档说:

Defining a @Bean of type Jackson2ObjectMapperBuilder will allow you to customize both default ObjectMapper and XmlMapper.

但我找不到代码示例,也不知道该怎么做。

如果我定义一个 Jackson2ObjectMapperBuilder 类型的 @Bean,它会替换默认的吗?它的后果是什么?以及如何从 Jackson2ObjectMapperBuilder 获取默认的对象映射器?

最佳答案

我在 Jackson2ObjectMapperBuilder enable field visibility ANY 找到了关于如何自定义默认 objectMapper 的现有链接。 .

我也发现了我程序中的问题。 JavaTimeModule 使用 jackson-databind-2.8.9 自动注册到默认的 objectMapper。我程序中的问题是由使用新创建的 objectMapper 引起的。我应该使用@Autowired objectMapper 的默认objectMapper。

关于java - 在 spring boot 中使用默认的 objectmapper 注册 JavaTimeModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com