背景
在项目中遇到后端查询出来的负数金额,传递到前端,金额变成0,这种情况如何处理,记录下来,方便备查。
排查原因
后端打印日志,查询出来的结果是负数,即退款的金额,但前端接收到的金额为0,翻看Java定义的bean中金额amount字段,类型使用的是decimal类型。
处理方案
方案一、注解形式
在金额字段上添加注解【JsonSerialize】,即在数据传输中序列化处理
java
/**
* 金额
* /
@JsonSerialize(using = ToStringSerializer.class)
private Decimal amount;
方案二、修改字段类型
使用【double】替换【Decimal】字段
java
/**
* 金额
* /
private Double amount;