在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在BigDecimal长度大于17位(不包括小数点)会出现精度丢失,在Long长度大于17位时也会出现精度丢失的问题。
解决方案
类属性直接定义成String类型,处理好之后再返回前端。
可以使用package com.fasterxml.jackson.annotation; 这个包下面的注解在返回字段上加上即可。
代码如下:
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal id;