[AIGC] 自定义Spring Boot中BigDecimal的序列化方式
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(BigDecimal.class, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
}
这段代码定义了一个配置类JacksonConfig
,其中创建了一个ObjectMapper
实例,并注册了一个简单模块,该模块将BigDecimal
类型序列化为字符串。这样配置后,在Spring Boot应用中发送BigDecimal
类型的数据时,会以字符串的形式来表示,这样有利于减少序列化过程中的精度问题。
评论已关闭