Advertisement

前端 → 前端 Long Precision Loss Solution

阅读量:

在实际应用SnowFlake过程中,可能会遇到此类问题。

最初在新增代码后进行测试时,前端传递的参数能够正常到达后台,但数据却始终无法完成更新,同时系统也没有任何错误提示。

经过多次尝试后发现,在执行更新操作时,请求参数中携带的id与之前新增数据时存储至数据库中的id存在差异,通常表现为最后一位数值少2或多了2。

进一步排查后得知,这与Java语言中long类型的数据长度超出了JavaScript的处理范围有关。

针对该问题的解决方式是引入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.a

全部评论 (0)

还没有任何评论哟~