当前位置: 首页 > news >正文

【BUG】SpringBoot项目Long类型数据返回前端精度丢失问题

问题描述

后端再给前端返回数据,使用Long类型的时候存在精度丢失问题。

原因分析:

分布式项目中广泛使用雪花算法生成ID作为数据库表的主键,Long类型的雪花ID有19位,而前端接收Long类型用的是number类型,但是number类型的精度只有16位。这就导致雪花ID传到前端会出现精度丢失。


解决方案:

通过Jackson序列化转String

@Configuration
public class SerializerConfig {/*** Long类型前端精度丢失问题,序列化时转String* @param mapperBuilder* @return*/@Beanpublic ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder mapperBuilder) {ObjectMapper build = mapperBuilder.createXmlMapper(false).build();build.setSerializationInclusion(JsonInclude.Include.NON_NULL);SimpleModule module = new SimpleModule();module.addSerializer(Long.class, ToStringSerializer.instance);module.addSerializer(Long.TYPE, ToStringSerializer.instance);build.registerModule(module);return build;}
}
http://www.lryc.cn/news/250588.html

相关文章:

  • UI自动化Selenium find_elements和find_element的区别
  • 【Android】Window和WindowManager
  • 如何解决 Python ModuleNotFoundError 错误
  • Day62.算法训练
  • Linux smbd命令教程:如何配置和管理Samba服务器(附案例详解和注意事项)
  • 音视频学习(十九)——rtsp收流(tcp方式)
  • LangChain(0.0.340)官方文档三:Prompts上——自定义提示模板、使用实时特征或少量示例创建提示模板
  • 【算法】合并K个升序链表
  • 持续集成交付CICD:GitLab Webhook触发Jenkins流水线
  • 计算机网络测试题
  • vscode如何在没有网络的情况下安装插件
  • 自定义类型:结构体、联合、枚举
  • HelpLook可以作为wordpress的替代品,帮助企业快速搭建博客
  • 单片机实现数码管动态显示
  • jbrowse基因组浏览器部署
  • 神经网络 模型表示(一)
  • 【漏洞复现】智跃人力资源管理系统GenerateEntityFromTable.aspx接口存在SQL注入漏洞 附POC
  • 【matlab程序】画海洋流场
  • 线性表 力扣67. 二进制求和
  • 2312skia,13画布包入门
  • 【网络安全技术】消息认证技术
  • 智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用
  • 接口测试基础知识
  • C++多线程之通过成员函数作为线程入口
  • word、excel文件转PDF(documents4j方式,简单)
  • 【Linux】:信号(三)捕捉
  • 数据结构 / 队列 / 循环队列 / 概念
  • elasticsearch 内网下如何以离线的方式上传任意的huggingFace上的NLP模型(国内闭坑指南)
  • vue中中的动画组件使用及如何在vue中使用animate.css
  • MATLAB 模型参考自适应控制 - Model Reference Adaptive Control