1、问题描述
Springboot进行前后端交互的时候,后端返回的工单编号(Long类型)是120403103137458689,结果前端接收到的是120403103137458690,导致返回的数据不准确,经排查应该是Long类型的精度丢失所致。如图:
2、解决方案
Java中返回的时候,将其转换为String类型;如果使用jackson进行转换,也需要在传输过程中该属性变为String类型,在对应的属性上添加"@JsonSerialize(using = ToStringSerializer.class)"注解即可。
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@ApiModelProperty(value = "工单号")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
效果如下: