fix:jackson序列化时间

This commit is contained in:
xiang
2025-08-12 22:56:36 +08:00
parent e785bb6d56
commit 58554f5f10

View File

@@ -2,20 +2,35 @@ package com.xiang.xservice.basic.config;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* @Author: xiang
* @Date: 2025-07-25 15:56
*/
@Configuration
public class GlobalJacksonConfig {
public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern(DATETIME_FORMAT);
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
// 设置null字段也序列化
mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);
// 设置LocalDateTime序列化
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalDateTime .class, new LocalDateTimeSerializer(DATETIME_FORMATTER));
mapper.registerModule(javaTimeModule);
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return mapper;
}
}