From 97a0c890bfbcc7a70877228416ac7ec465079a85 Mon Sep 17 00:00:00 2001 From: mingli <1236897@qq.com> Date: Fri, 11 Jun 2021 17:42:33 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0MP=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89id=20=E5=BA=8F=E5=88=97=E5=8C=96=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/framework/config/JacksonConfig.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java 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 new file mode 100644 index 000000000..b367100e9 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/JacksonConfig.java @@ -0,0 +1,36 @@ +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 org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +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; + +/** + * 当Mybatis plus设置为雪花ID时 + * 使用此类,会把所有数字返回变为字符串返回适配前端Long型失真问题 + * + * @author Ming LI + */ +@Configuration +public class JacksonConfig { + + @Bean + @Primary + @ConditionalOnMissingBean(ObjectMapper.class) + @ConditionalOnProperty(value = "mybatis-plus.global-config.dbConfig.idType", havingValue = "ASSIGN_ID") + public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { + ObjectMapper objectMapper = builder.createXmlMapper(false).build(); + // 全局配置序列化返回 JSON 处理 + SimpleModule simpleModule = new SimpleModule(); + //JSON Long ==> String + simpleModule.addSerializer(Long.class, ToStringSerializer.instance); + objectMapper.registerModule(simpleModule); + return objectMapper; + } + +}