1,原因

Java中Long类型可以表示的最大值是2 ^63-1,而JS的基础类型Number可以表示的最大值是 2 ^53。所以后端返回的数据大于Number能表示的最大值时无法正确解析,出现精度丢失的问题。

2,解决方案

1,将返回给前端的Long类型数据改为String。
2,在Long类型字段加上注解 @JsonFormat(shape = Shape.STRING)。
3,让前端支持long型,引入Long.js文件