fix 移除 Long 序列化为 String 配置 改为由用户自行添加注解

This commit is contained in:
疯狂的狮子li 2021-06-16 17:41:48 +08:00
parent a1717eac6d
commit f9967cca4c
3 changed files with 12 additions and 7 deletions

View File

@ -1,6 +1,8 @@
package com.ruoyi.demo.domain; package com.ruoyi.demo.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -23,8 +25,13 @@ public class TestDemo implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
/** 主键 */ /**
* 主键
* 如果是自定义id 或者 雪花id
* 需要增加序列化为字符串注解 因为Long到前端会失真
*/
@TableId(value = "id") @TableId(value = "id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
/** 部门id */ /** 部门id */

View File

@ -1,13 +1,14 @@
package com.ruoyi.demo.domain; package com.ruoyi.demo.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.annotation.Excel;
/** /**
* 测试树表对象 test_tree * 测试树表对象 test_tree
@ -26,6 +27,7 @@ public class TestTree implements Serializable {
/** 主键 */ /** 主键 */
@TableId(value = "id") @TableId(value = "id")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
/** 父id */ /** 父id */

View File

@ -2,7 +2,6 @@ package com.ruoyi.framework.config;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.JsonUtils;
@ -34,9 +33,6 @@ public class JacksonConfig {
ObjectMapper objectMapper = (ObjectMapper) bean; ObjectMapper objectMapper = (ObjectMapper) bean;
// 全局配置序列化返回 JSON 处理 // 全局配置序列化返回 JSON 处理
SimpleModule simpleModule = new SimpleModule(); 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.addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE);
simpleModule.addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE); simpleModule.addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE);
objectMapper.registerModule(simpleModule); objectMapper.registerModule(simpleModule);