后端 -> 前端 Long精度丢失解决方案

这个问题,一般是在使用SnowFlake的时候,可能出现

一开始是在新增代码后,测试更新的时候,前端参数传到后台了,但是数据总是不能更新,也没报错。

试了几次之后发现,在更新的时候请求参数的id和之前新增时保存到库中的id不一致了,一般都是最后一位少2或多2。

查了才知道,是java的long型长度,超过了js的处理范围

解决方法,是使用jackson,添加配置:

  1. 导入jackson依赖
  2. 添加配置
@Configuration
public class JacksonConfig {
    
    
    
    @Bean
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
    
    
        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
        SimpleModule simpleModule = new SimpleModule();
        // simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        objectMapper.registerModule(simpleModule);
        return objectMapper;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44062380/article/details/115269013