记录long类型失真处理

1,long类型长度过长时,传回前端会失真,尝试用注解@format等注解进行操作,均没有效果

原因:使用注解有前提,如被转换类型需要是包装类Long,项目中不能引用Gson,所以多种注解均失败,最后采用全局配置

WebDataConvertConfig implements WebMvcConfigurer

解决返回值失真问题

2,接上述问题,第二天启动时发现,swaggerUi无法打开

重新启动程序后,由于webmvc配置被重写,导致自动注入失效,swagger找不到前端资源,页面报错,要解决这个问题,需要继续指定在config类中指定资源位置,稍微麻烦,故选择了另一种方法配置,验证生效

@Configuration
public class LongToStringConfig {
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder
                .serializerByType(Long.class, ToStringSerializer.instance)
                .serializerByType(Long.TYPE, ToStringSerializer.instance);
    }
}

3,最后,发现这个问题根本不是问题,正常调用数据并无异常,只是swagger作为切面切入程序,中间做了一些处理,只是在swagger上出现了这个问题,修复方便前端查看

4,开发过程中,与前端对接口,他发一个一模一样的接口给我,我给的模板能查到,他的查不到,根本看不出问题,一度怀疑是接口哪里出问题了,一看接口也不像有问题,然后开本地测试,两条接口走进去,其中一个参数空了,这才定位到是参数问题,在postman对比参数,看不出,复制到本地编辑器对比,才看出是l和I(根本看不出),也就是小写的L和大写的i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值