swagger精度丢失,postman调用正常,dameng数据库,long类型字段

问题出现

我们目前在迁移环境,然后往另带一个公司提供的框架里面迁移,然后就出现了很多问题,一个问题是我们返回的某个列表数据,在使用postman 的时候调用正常,但是当前端在制作页面的时候出现问题,并且swagger在调用的时候也是出现问题。
swagger精度丢失,postman调用正常,dameng数据库,long类型字段_第1张图片
swagger精度丢失,postman调用正常,dameng数据库,long类型字段_第2张图片

问题处理

实话说作为后端,这个问题的发现很难,一般是前端反馈的,然后后端才开始比较问题,然后上网找了挺多的方案的,有添加启动注解以及字段注解的,但是太多了,这种问题,我们不可能一一添加注解的,所以我们开始寻找之前项目中是不是有什么配置之类的东西,才导致旧的项目中没有这种问题,但是新的项目中有这个问题的,发现是一个配置类,不是那种强制校验的,我们就没有迁移过来,

package com.staging.main.flex.config;

import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

import java.math.BigInteger;

/**
 * @Author: Runxu
 * @Description:
 * @Date: Created in 16:29 2021/6/7
 */

@Configuration
public class JacksonConfig {
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        Jackson2ObjectMapperBuilderCustomizer cunstomizer = new Jackson2ObjectMapperBuilderCustomizer() {
            @Override
            public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {
                jacksonObjectMapperBuilder.serializerByType(BigInteger.class, ToStringSerializer.instance);
                jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance);
            }
        };
        return cunstomizer;
    }
}

增加这个没有什么问题了

你可能感兴趣的:(dm数据库,swagger,达梦数据库,精度丢失)