|
|
@ -9,9 +9,11 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; |
|
|
|
import org.springframework.context.annotation.Bean; |
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
import org.springframework.context.annotation.Primary; |
|
|
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; |
|
|
|
|
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.util.TimeZone; |
|
|
|
|
|
|
|
/** |
|
|
|
* Jackson配置类 - 强制配置版本 |
|
|
@ -29,12 +31,13 @@ public class JacksonConfig { |
|
|
|
private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; |
|
|
|
|
|
|
|
/** |
|
|
|
* 强制配置ObjectMapper,确保JavaTimeModule被正确注册 |
|
|
|
* 使用Jackson2ObjectMapperBuilder构建ObjectMapper |
|
|
|
* 确保与Spring Boot完全兼容 |
|
|
|
*/ |
|
|
|
@Bean |
|
|
|
@Primary |
|
|
|
public ObjectMapper objectMapper() { |
|
|
|
ObjectMapper mapper = new ObjectMapper(); |
|
|
|
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) { |
|
|
|
ObjectMapper mapper = builder.build(); |
|
|
|
|
|
|
|
// 创建并配置JavaTimeModule
|
|
|
|
JavaTimeModule javaTimeModule = new JavaTimeModule(); |
|
|
@ -49,9 +52,12 @@ public class JacksonConfig { |
|
|
|
|
|
|
|
// 禁用将日期写为时间戳
|
|
|
|
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); |
|
|
|
|
|
|
|
|
|
|
|
// 忽略未知属性
|
|
|
|
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); |
|
|
|
|
|
|
|
// 设置时区
|
|
|
|
mapper.setTimeZone(TimeZone.getTimeZone("GMT+8")); |
|
|
|
|
|
|
|
return mapper; |
|
|
|
} |
|
|
|