背景
本地测试接口,一个BigDecimal
类型的字段,正常的返回了2位小数,但是部署到测试环境后,就变成了一位小数。
分析问题
如果不是字符串,前端进行自动转换后,去掉了数值末尾的0。
解决问题
方法1.在实体类里给该字段加上注解 @JsonSerialize(using = ToStringSerializer.class)
或@JsonFormat(shape = JsonFormat.Shape.STRING)
,我是用的是第一个注解,注意引用的是:
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@JsonSerialize(using = ToStringSerializer.class)
private BigDecimal salAmt;
方法2.将该字段设置成字符串类型