目录
前言:
问题现象:
解决方法:
效果:
前言:
做项目的时候数据字段通常定义为bigdecimal类型,方便进行运算,但是发现接口调用后返回给前台的是字符串,这篇博文讲的是如何将定义的bigdecimal类型返回给前台数字类型
问题现象:
解决方法:
创建CustomerBigDecimalSerialize类
package com.dh.agrisubs.util;import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;
import java.math.BigDecimal;
import java.util.Objects;public class CustomerBigDecimalSerialize extends JsonSerializer<BigDecimal> {@Overridepublic void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {if(Objects.nonNull(value)) {gen.writeNumber(value.stripTrailingZeros().doubleValue());//去除0后缀,如果想统一进行保留精度,也可以采用类似处理}else {//如果为null的话,就写nullgen.writeNull();}}
}
在实体类字段上添加注解:
@JsonSerialize(using = CustomerBigDecimalSerialize.class)