diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java index 12a7c65f0..6b51ebf8b 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java @@ -3,7 +3,6 @@ package com.pig4cloud.pigx.common.core.config; import cn.hutool.core.date.DatePattern; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.pig4cloud.pigx.common.core.jackson.PigxJavaTimeModule; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -50,7 +49,6 @@ public class JacksonConfig implements WebMvcConfigurer { builder.simpleDateFormat(DatePattern.NORM_DATETIME_PATTERN); builder.serializerByType(Long.class, ToStringSerializer.instance); builder.modules(new PigxJavaTimeModule()); - builder.modules(new JavaTimeModule()); }; } diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/jackson/PigxJavaTimeModule.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/jackson/PigxJavaTimeModule.java index f4b63d5b9..86230892f 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/jackson/PigxJavaTimeModule.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/jackson/PigxJavaTimeModule.java @@ -3,13 +3,16 @@ package com.pig4cloud.pigx.common.core.jackson; import cn.hutool.core.date.DatePattern; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.PackageVersion; +import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -23,6 +26,9 @@ import java.time.format.DateTimeFormatter; */ public class PigxJavaTimeModule extends SimpleModule { + /** + * 指定序列化规则 + */ public PigxJavaTimeModule() { super(PackageVersion.VERSION); @@ -37,6 +43,9 @@ public class PigxJavaTimeModule extends SimpleModule { this.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))); + // Instant 类型序列化 + this.addSerializer(Instant.class, InstantSerializer.INSTANCE); + // ======================= 时间反序列化规则 ============================== // yyyy-MM-dd HH:mm:ss this.addDeserializer(LocalDateTime.class, @@ -47,6 +56,9 @@ public class PigxJavaTimeModule extends SimpleModule { // HH:mm:ss this.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))); + // Instant 反序列化 + this.addDeserializer(Instant.class, InstantDeserializer.INSTANT); + } }