From 4d02466fed4f3ea012a80c3359cde9af0737141f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 21 十一月 2022 20:01:12 +0800 Subject: [PATCH] add 增加 skywalking 集成 默认注释不开启 --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java | 52 ++++++++++++++++++++++++---------------------------- 1 files changed, 24 insertions(+), 28 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java index 95e3d43..eace537 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java @@ -1,18 +1,20 @@ package com.ruoyi.framework.config; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import com.ruoyi.common.utils.JsonUtils; +import com.ruoyi.framework.jackson.BigNumberSerializer; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import java.math.BigDecimal; +import java.math.BigInteger; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.TimeZone; /** * jackson 閰嶇疆 @@ -23,28 +25,22 @@ @Configuration public class JacksonConfig { - @Bean - public BeanPostProcessor objectMapperBeanPostProcessor() { - return new BeanPostProcessor() { - @Override - public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { - if (!(bean instanceof ObjectMapper)) { - return bean; - } - ObjectMapper objectMapper = (ObjectMapper) bean; - // 鍏ㄥ眬閰嶇疆搴忓垪鍖栬繑鍥� JSON 澶勭悊 - SimpleModule simpleModule = new SimpleModule(); - //JSON Long ==> String 鎶婃墍鏈夋暟瀛楄繑鍥炲彉涓哄瓧绗︿覆杩斿洖閫傞厤鍓嶇Long鍨嬪け鐪熼棶棰� - simpleModule.addSerializer(Long.class, ToStringSerializer.instance); - simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance); - simpleModule.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE); - simpleModule.addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE); - objectMapper.registerModule(simpleModule); - JsonUtils.init(objectMapper); - log.info("鍒濆鍖� jackson 閰嶇疆"); - return bean; - } - }; - } + @Bean + public Jackson2ObjectMapperBuilderCustomizer customizer() { + 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)); + builder.modules(javaTimeModule); + builder.timeZone(TimeZone.getDefault()); + log.info("鍒濆鍖� jackson 閰嶇疆"); + }; + } } -- Gitblit v1.9.3