一、问题
Java 8 date/time type `java.time.LocalDateTime` not supported by default:
add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
(through reference chain: net.queer.web.talker.push.bean.db.User["createAt"])
意思: 在默认情况下 Java 8 不支持 LocalDateTime 需要添加 com.fasterxml.jackson.datatype:jackson-datatype-jsr310 依赖。
原因: 是没有添加序列化和反序列化器。
二、解决
1、在 build.gradle -> dependencies 里添加依赖:
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
2、指定 LocalDateTime 的序列化以及反序列化器:
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
例如:
注意: LocalDateTimeDeserializer.class 和 LocalDateTimeSerializer.class 必须添加依赖后才会引用,否则无法使用。Web 项目中没有 pom.xml 文件,所以依赖是添加在 build.gradle 里的。