问题

前后端交互,当后端返回long类型数据时,有可能会出现数字太大而前端接收到的数据精度会丢失。然后前端如果通过丢失精度的数据进行请求就会出现修改/查询错误等问题

解决方法

  1. 直接修改返回数据的字段类型(不推荐)

    例如直接修改为string类型,但这样可能会导致其他使用到该字段的地方也需要修改。

  2. json序列化注解(推荐)

    1
    2
    @JSONField(serializeUsing = ToStringSerializer.class) 
    private Long id;

参考文档

long类型和前端交互精度丢失问题

关于Long类型数据前端丢失精度问题解决办法

Long类型数据返回给前端丢失精度问题解决

Java的Long类型值传递到前端精度丢失问题