问题描述
SpringBoot后端与前端进行交互时候,传入的商品Long类型id,如:788532248499728384。
而前端接收以后,变成了:788532248499728380,Long类型发现了精度丢失。
原因分析
1、可能是JS中的long类型丢失
2、可能是http传输过程出现拆包粘包问题
问题解决
1、可能是JS中的long类型丢失
使用jackson下的转换,使得在传输过程该属性变为String类型
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
问题解决
2、可能是http传输过程出现拆包粘包问题
如果发生拆包粘包,String类型依然会发生精度丢失问题。