|
@@ -1,5 +1,6 @@
|
|
|
package org.dromara.common.json.config;
|
|
package org.dromara.common.json.config;
|
|
|
|
|
|
|
|
|
|
+import com.fasterxml.jackson.databind.Module;
|
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
|
@@ -28,20 +29,24 @@ import java.util.TimeZone;
|
|
|
@AutoConfiguration(before = JacksonAutoConfiguration.class)
|
|
@AutoConfiguration(before = JacksonAutoConfiguration.class)
|
|
|
public class JacksonConfig {
|
|
public class JacksonConfig {
|
|
|
|
|
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ public Module registerJavaTimeModule() {
|
|
|
|
|
+ // 全局配置序列化返回 JSON 处理
|
|
|
|
|
+ JavaTimeModule javaTimeModule = new JavaTimeModule();
|
|
|
|
|
+ javaTimeModule.addSerializer(Long.class, BigNumberSerializer.INSTANCE);
|
|
|
|
|
+ javaTimeModule.addSerializer(Long.TYPE, BigNumberSerializer.INSTANCE);
|
|
|
|
|
+ javaTimeModule.addSerializer(BigInteger.class, BigNumberSerializer.INSTANCE);
|
|
|
|
|
+ javaTimeModule.addSerializer(BigDecimal.class, ToStringSerializer.instance);
|
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
|
|
|
|
|
+ javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
|
|
|
|
|
+ javaTimeModule.addDeserializer(Date.class, new CustomDateDeserializer());
|
|
|
|
|
+ return javaTimeModule;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Bean
|
|
@Bean
|
|
|
public Jackson2ObjectMapperBuilderCustomizer customizer() {
|
|
public Jackson2ObjectMapperBuilderCustomizer customizer() {
|
|
|
return builder -> {
|
|
return builder -> {
|
|
|
- // 全局配置序列化返回 JSON 处理
|
|
|
|
|
- JavaTimeModule javaTimeModule = new JavaTimeModule();
|
|
|
|
|
- javaTimeModule.addSerializer(Long.class, BigNumberSerializer.INSTANCE);
|
|
|
|
|
- javaTimeModule.addSerializer(Long.TYPE, BigNumberSerializer.INSTANCE);
|
|
|
|
|
- javaTimeModule.addSerializer(BigInteger.class, BigNumberSerializer.INSTANCE);
|
|
|
|
|
- javaTimeModule.addSerializer(BigDecimal.class, ToStringSerializer.instance);
|
|
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
- javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
|
|
|
|
|
- javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
|
|
|
|
|
- javaTimeModule.addDeserializer(Date.class, new CustomDateDeserializer());
|
|
|
|
|
- builder.modules(javaTimeModule);
|
|
|
|
|
builder.timeZone(TimeZone.getDefault());
|
|
builder.timeZone(TimeZone.getDefault());
|
|
|
log.info("初始化 jackson 配置");
|
|
log.info("初始化 jackson 配置");
|
|
|
};
|
|
};
|