一、该问题的重现步骤是什么?
1.5.9API报文加密改造
2. 根据文档改造后发现返回前端的数据中id-Long类型未处理为String,long类型超长导致数据精度丢失
3.检查相应数据加密处理接口发现未定义全局ObjectMapper,导致
@JsonSerialize(using = ToStringSerializer.class)
未生效
二、你期待的结果是什么?实际看到的又是什么?
期待,接口改造完后返给前端数据json序列化处理
实际:返回加密数据时,id等标注@JsonSerialize(using = ToStringSerializer.class)的字段未处理
修改后的代码如下:
在JacksonConfiguration.java 中配置Bean
@Bean Jackson2ObjectMapperBuilderCustomizer () { builder -> builder.serializerByType(Long., ToStringSerializer.) .serializerByType(Long., ToStringSerializer.) .serializerByType(BigInteger., ToStringSerializer.) .serializerByType(BigDecimal., ToStringSerializer.); }
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
4.1.0.RELEASE
四、请提供详细的错误堆栈信息,这很重要。
请问这么修改是否有问题,有更好的方式吗?
五、若有更多详细信息,请在下面提供。