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.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper; 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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/** /**
* @Author: xiang * @Author: xiang
* @Date: 2025-07-25 15:56 * @Date: 2025-07-25 15:56
*/ */
@Configuration @Configuration
public class GlobalJacksonConfig { 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 @Bean
public ObjectMapper objectMapper() { public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
// 设置null字段也序列化 // 设置null字段也序列化
mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); 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; return mapper;
} }
} }