From e503803944c60f510d78d363d9d74a0cd3283daa Mon Sep 17 00:00:00 2001 From: zhangyuanpeng <1016062422@qq.com> Date: Thu, 6 Mar 2025 17:17:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20jackson=E5=A4=84=E7=90=86LocalDateTime?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=A0=BC=E5=BC=8F=E5=85=A8=E5=B1=80=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/youlai/boot/config/WebMvcConfig.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/youlai/boot/config/WebMvcConfig.java b/src/main/java/com/youlai/boot/config/WebMvcConfig.java index 41fa407b..a8082ea9 100644 --- a/src/main/java/com/youlai/boot/config/WebMvcConfig.java +++ b/src/main/java/com/youlai/boot/config/WebMvcConfig.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import jakarta.validation.Validation; import jakarta.validation.Validator; import jakarta.validation.ValidatorFactory; @@ -20,6 +22,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.math.BigInteger; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.TimeZone; @@ -33,6 +37,8 @@ import java.util.TimeZone; @Slf4j public class WebMvcConfig implements WebMvcConfigurer { + private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + /** * 配置消息转换器 * @@ -45,6 +51,10 @@ public class WebMvcConfig implements WebMvcConfigurer { // 注册 JavaTimeModule(替代手动注册 LocalDateTimeSerializer) JavaTimeModule javaTimeModule = new JavaTimeModule(); + // 返回指定字符串格式 + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DATE_TIME_FORMATTER)); + // 反序列化,接受前端传来的格式 + javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DATE_TIME_FORMATTER)); objectMapper.registerModule(javaTimeModule); // 配置全局日期格式和时区