当我们用雪花算法生成id的时候,雪花算法生成的id长度有19位,而json在序列化中会将数字类型转换为16位,这就导致了精度的丢失,而且丢失的那部分数据也并没有四舍五入,这里就不做这方面的研究,主要讲一讲解决方案。
解决方案:在实体类中使用雪花算法的属性上加上这个注解,改变这个属性的序列化过程。
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
PS:还有很多别的解决办法,如:通过配置类等方式,还有很多方式,我这里只举例其中一种。