【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.mzph.cn/news/190616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hdoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

有文件实体的后门无文件实体的后门rootkit后门

有文件实体后门和无文件实体后门&RootKit后门 什么是有文件的实体后门: 在传统的webshell当中,后门代码都是可以精确定位到某一个文件上去的,你可以rm删除它,可以鼠标右键操作它,它是有一个文件实体对象存在的。…

对系统的 Go 版本进行升级

方法一 直接升级系统的 Go 版本 注意以下操作仅适用于:amd64 架构的 Centos 系统。如果需要适配其他架构,需要自行编写代码实现。 手动执行: # 显示当前版本 go version # 查看环境变量 cat /etc/profile # 进入 go 的安装目录,…

西南科技大学(数据结构A)期末自测练习三

一、填空题(每空1分,共10分) 1、为解决计算机主机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区。主机将要输出的数据依次写入缓冲区,打印机则依次从缓冲区中取出数据,则该换缓冲区的逻辑结构…

【Java Web学习笔记】 2 - CSS入门

项目代码 零、 CSS引出 CSS 教程 官方教学文档 1.在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,费心费力。所以CSS就出现了。 2.使用CSS将HTML页面的内容与样式分离提高web开发的工作效率(针对前端开发&a…

UE小计:Unreal Engine 中 Actor 数据的 JSON 序列化

Unreal Engine 中 Actor 数据的 JSON 序列化 在游戏开发过程中,经常需要将游戏世界中的实体(Actors)信息导出到其他格式以便于分析、存储或交互。在Unreal Engine中,我们可以通过序列化这些实体的数据为JSON格式来实现这一目的。…

一篇短文让你彻底理解什么是逻辑门电路

一、门电路概述 门电路:实现基本运算、复合运算的单元电路,如与门、与非门、或门… 注意:门电路中以高/低电平表示逻辑状态的1/0 正逻辑与负逻辑: 正逻辑:高电平表示1、低电平表示0 负逻辑:高电平表示0、低…

k8s ingress 无法找到端点

文章目录 ingress rule无法找到端点这个注解是什么意思呢?为何不生效呢?端点无法更新?如何确认ingressclass呢?修复端点无法发现的问题多个ingress controller 架构 ingress rule无法找到端点 在vnnox-cn集群创建ingress&#xf…

数据结构(三)——算法和算法分析

😀前言 数据结构和算法是计算机科学领域中至关重要的概念。它们为解决实际问题提供了有效的方法和步骤。算法作为解决问题的方法和步骤,在计算机中以指令的有限序列的形式表达。本文将介绍算法的定义、描述和程序设计等方面的内容,帮助您深入…

【FPGA图像处理实战】- 图像基础知识

视频图像处理是FPGA主要应用方向之一,很多FPGA从事或准备进入这一领域,我们现在开始发布新的FPGA实战专栏——FPGA图像处理。 FPGA处理视频图像处理的主要优势是流水线和并行处理运算,特别是现在视频分辨率越来越大,从720p到1080…

二维A*算法

MATLAB2016b可以正常运行 function bidirectional_ASTAR clc; clear; %% 初始化界面 n 11; % field size n x n tiles 20*20的界面 %wallpercent 0.3; % this percent of field is walls 15%的界面作为阻碍物(墙) cmap [1 1 1; ...% 1 - whit…

RPC之GRPC:什么是GRPC、GRPC的优缺点、GRPC使用场景

简介 gRPC是一个现代的开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以高效地连接数据中心内和跨数据中心的服务,支持负载平衡、跟踪、运行状况检查和身份验证。它也适用于分布式计算的最后一英里,将设备、移动应用程序和浏览…

linux特殊权限_suid_chattr_umask

3.3 特殊权限 如果一个文件很重要,需要依赖特殊权限避免其被删除。 由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞,甚至摧毁系统。3个权限是对了执行文件或目…

软件使用-stm32入门

这节主要是介绍大家使用两个软件。这两个软件也是比较常用的,里面也有很多有意思的功能,可以给大家介绍一下。 1. FlyMcu 软件 这个软件可以通过串口给 STM32 下载程序,如果你没有 STLINK,就可以用这个软件通过串口下载程序。 …

FPGA串口接收解帧、并逐帧发送有效数据-2

FPGA串口接收解帧、并逐帧发送有效数据 工程实现的功能:FPGA串口接收到串口调试助手发来的数据,将其数据解帧。判断到正确的帧头和帧尾之后,将有效数据存入rx_data中;另一方面发送端将有效数据逐帧发送出去。 参考:正…

差分数组相关知识点以及刷题

差分数组 差分数组是什么? **举例:**对于数组考虑数组 a[1,3,3,5,8],对其中的相邻元素两两作差(右边减左边),得到数组 [2,0,2,3]。然后在开头补上 a[0],得到差分数组: ​ d[1,2,0…

【电路笔记】-串联和并联电阻

串联和并联电阻 文章目录 串联和并联电阻1、概述2、串联和并联电阻示例13、串联和并联电阻示例2 电阻器可以无限数量的串联和并联组合连接在一起,形成复杂的电阻电路。 1、概述 在之前的教程中,我们学习了如何将各个电阻器连接在一起以形成串联电阻器网…

编程和系统架构设计中性能优化等相关问题及解决方案

在编程和系统架构设计中,性能优化、大并发编程、异步补偿以及分布式事务控制等问题是经常面临的挑战。要优雅地解决这些问题。 常见的技术难题: 编程中常见的技术难题有很多,以下列举了一些常见的技术难题: 1. 性能优化:如何提高程序的执行效率,优化算法和数据结构,减少…

什么是Ros(四) - ros1和ros2的区别

参考:【ros/ros2】ros1和ros2的区别-要点记录_shuaixio的博客-CSDN博客

linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list) 假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑: 方法一:给/dat…