诡异错误:返回给前端的id被前端自动修改

时间:2024-11-20 07:42:49

使用mybatis-plus生成的id,使用雪花算法,是一个long类型的id。

当调用list接口返回给前端后,接口显示数据正常,但是界面上的id不对,多了好几个0,数据都是以0结尾。

由于前端使用vue编写,我不太会打断点,遂放弃。

后面突然想到可能存在数据溢出的问题。

想起之前的代码里,对后端实体类的id都加了一个注解,当时并没有注意:
 

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

就是这个序列化为字符串的注解。

加上后,发现正常了。

总结:
应该是前端使用的数据类型,接收long类型的数据的时候出现了溢出问题。使用字符串的话,就没这个问题了。