Spring Boot 如何修复Jacksonjava 8数据/时间错误?

92dk7w1h  于 2022-11-05  发布在  Spring
关注(0)|答案(1)|浏览(663)
Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling

我已经得到这个错误在我的Spring Boot 项目,使用gradle。我添加了下面给定的gradle依赖jsr 310以及,它仍然没有工作。

implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.13.3'

我如何修正这个错误?我的项目使用java 17和spring 2.6.7。谢谢!

x3naxklr

x3naxklr1#

JavaTimeModule应显式注册:

@Configuration
public class JacksonConfiguration { 
    @Bean
    public ObjectMapper objectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.registerModule(new JavaTimeModule());
        return mapper;
    }
}

供参考:jackson-modules-java8 -注册模块
最新消息:
第一个解决方案应与2.9之前的2.x版本jackson-datatype-jsr310一起使用。由于您添加了2.13.3版本,因此应根据the answer按如下所示注册模块。

@Configuration
public class JacksonConfiguration { 
    @Bean
    public ObjectMapper objectMapper() {
        return JsonMapper.builder()
            .addModule(new JavaTimeModule())
            .build();
    }
}

相关问题