diff --git a/src/main/java/com/guo/learningprogresstracker/config/JacksonConfig.java b/src/main/java/com/guo/learningprogresstracker/config/JacksonConfig.java new file mode 100644 index 0000000..c1c0b4b --- /dev/null +++ b/src/main/java/com/guo/learningprogresstracker/config/JacksonConfig.java @@ -0,0 +1,24 @@ +package com.guo.learningprogresstracker.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.guo.learningprogresstracker.config.serializer.LocalDateTimeSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.time.LocalDateTime; + +/** + * @author guo + */ +@Configuration +public class JacksonConfig { + @Bean + public ObjectMapper objectMapper() { + ObjectMapper mapper = new ObjectMapper(); + SimpleModule module = new SimpleModule(); + module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer()); + mapper.registerModule(module); + return mapper; + } +} diff --git a/src/main/java/com/guo/learningprogresstracker/config/serializer/LocalDateTimeSerializer.java b/src/main/java/com/guo/learningprogresstracker/config/serializer/LocalDateTimeSerializer.java new file mode 100644 index 0000000..9ad47b0 --- /dev/null +++ b/src/main/java/com/guo/learningprogresstracker/config/serializer/LocalDateTimeSerializer.java @@ -0,0 +1,31 @@ +package com.guo.learningprogresstracker.config.serializer; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +public class LocalDateTimeSerializer extends StdSerializer { + + // 定义你希望使用的日期时间格式 + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");; + + public LocalDateTimeSerializer() { + super(LocalDateTime.class); + } + + @Override + public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider provider) throws IOException { + if (value == null) { + gen.writeNull(); + } else { + // 格式化LocalDateTime为字符串 + String formattedDate = value.format(formatter); + // 将格式化后的字符串写入JSON流作为一个值 + gen.writeString(formattedDate); + } + } +}