松东路 2022-04-06 01:29 采纳率: 0%
浏览 467

雪花算法ID到前端之后精度丢失问题

问题遇到的现象和发生背景

小伙伴建了一张表,表的主键是id BigINT,用来存储雪花算法生成的ID

CREATE TABLE user
(
    id BIGINT(20) NOT NULL COMMENT '主键ID',
        #其他字段省略
);

使用Long 类型对应数据库ID数据。嗯,也没有问题,雪花算法生成的就是一串数字,Long类型属于标准答案!

@Data
public class User {
    private Long id;
//其他成员变量省略

在后端下断点。看到数据响应以JSON响应给前端,正常

{
id:1297873308628307970,
//其他属性省略
}

最后,这条数据返回给前端,前端接收到之后,修改这条数据,后端再次接收回来。奇怪的问题出现了:后端重新接收回来的id变成了:12978733086283000000,不再是1297873308628307970

求解决办法

  • 写回答

6条回答 默认 最新

  • qq_39843266 2022-04-06 09:13
    关注

    返回字段上添加@JsonSerialize(using = ToStringSerializer.class) ,json已String类型解析

    
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月6日

悬赏问题

  • ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?
  • ¥15 STM32多路复用器ADC采样
  • ¥20 Linux(ubuntu)操作相关问题
  • ¥15 python深度学习代码求跑
  • ¥100 对接美团闪购医药接口相关问题
  • ¥15 嵌入式软件电子烟开发
  • ¥15 职场 Excel 查重问题
  • ¥15 求怎么用idea2021.3.2创建web项目并配置tomcat
  • ¥100 or-tools的相关问题
  • ¥15 有可能用平板通过拓展坞来烧录程序吗(keil5的那种)