diff --git a/diboot-core-starter/src/main/java/com/diboot/core/starter/CoreAutoConfig.java b/diboot-core-starter/src/main/java/com/diboot/core/starter/CoreAutoConfig.java index 1b645c15760b1b4663816a704dc8b37644c80127..1d6cbd346eb70ed0c4b2c3335bef0dfb87af0aa7 100644 --- a/diboot-core-starter/src/main/java/com/diboot/core/starter/CoreAutoConfig.java +++ b/diboot-core-starter/src/main/java/com/diboot/core/starter/CoreAutoConfig.java @@ -18,6 +18,7 @@ package com.diboot.core.starter; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.diboot.core.data.encrypt.ProtectInterceptor; +import com.diboot.core.util.ContextHelper; import com.diboot.core.util.D; import com.diboot.core.util.DateConverter; import com.fasterxml.jackson.annotation.JsonInclude; @@ -91,7 +92,11 @@ public class CoreAutoConfig implements WebMvcConfigurer { @ConditionalOnMissingBean public MappingJackson2HttpMessageConverter jacksonMessageConverter(){ MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); - ObjectMapper objectMapper = converter.getObjectMapper(); + // 优先使用全局默认ObjectMapper, 保证ObjectMapper全局配置相同 + ObjectMapper objectMapper = ContextHelper.getBean(ObjectMapper.class); + if (objectMapper == null) { + objectMapper = converter.getObjectMapper(); + } // Long转换成String避免JS超长问题 SimpleModule simpleModule = new SimpleModule(); simpleModule.addSerializer(Long.class, ToStringSerializer.instance); @@ -103,8 +108,6 @@ public class CoreAutoConfig implements WebMvcConfigurer { JavaTimeModule javaTimeModule = new JavaTimeModule(); // LocalDateTime DateTimeFormatter localDateTimeFormatter = DateTimeFormatter.ofPattern(D.FORMAT_DATETIME_Y4MDHMS); - javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(localDateTimeFormatter)); - javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(localDateTimeFormatter)); javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(localDateTimeFormatter)); // LocalDate