后端Long型数据传给前端精度丢失问题 分布式id 解决方案

2023-11-04

Long型数据id传给前端精度丢失问题 数据库数据类型bigint

今天将文章类ArticleVo的数据传给前端时,发现前端接收的数据id不一样。
如前端获得的id=1405916999732707300,但数据库里是id=1405916999732707330,后面两位数据不一样。

@Data
public class ArticleVo {

    private Long id; //数据库对应属性bigint

    private String title;

	private String content;
}
return Result.success(articleVo); //返回前端

原来是分布式id比较长,传到前端解析不完全 会有精度损失,必须转为string类型 进行传输,就不会有问题。

解决方案

有以下两种方案:

方案1:将实体类中Long型数据序列化为字符串

@Data
public class ArticleVo {
	//使用JSON序列化成 字符串
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    private String title;

	private String content;
}

方案2:返回Map数据,将属性设为字符串

	Map<String, String> map = new HashMap<>();
	map.put("id",article.getId().toString());
	map.put("title",article.getTitle());
	map.put("content",article.getContent());
	return Result.success(map);

这样传给前端就不会丢失精度了,推荐方案1更加方便。

如果觉得我的经验对你有帮助,不妨点个赞再走吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后端Long型数据传给前端精度丢失问题 分布式id 解决方案 的相关文章

  • Java 中等效的并行扩展

    我在 Net 开发中使用并行扩展有一些经验 但我正在考虑在 Java 中做一些工作 这些工作将受益于易于使用的并行库 JVM 是否提供任何与并行扩展类似的工具 您应该熟悉java util concurrent http java sun
  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • 计算机网络原理选择题

    1 1 电信业一般认为宽带骨干网数据传输速率应达到 d a 640kbps b 640mbps c 1gbps d 2gbps 2 异步时分多路复用 tdm 技术中的时间片分配策略是 c a 预先分配但不固定 b 预先分配固定不变 c 动态
  • 第八章 真实的谎言

    第八章 真实的谎言 我先给大家讲一个石头汤的故事 很久以前 在东欧的一个地方 发生了一次大饥荒 人们都以戒备的心理囤积起他们可以找到的任何食物 并把这些食物都藏了起来 甚至于连他们的朋友和邻居都 不告诉 有一天 一个小商贩驾着他的马车来到一
  • Ant Design与Ant Design pro入门

    一 Ant Design入门 1 什么是Ant Design Ant Design是阿里蚂蚁金服团队基于React开发的ui组件 主要用于中后台系统的使用 官网 https ant design index cn 特性 提炼自企业级中后台产
  • 网易笔试编程题-不要二

    题目描述 二货小易有一个W H的网格盒子 网格的行编号为0 H 1 网格的列编号为0 W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x
  • boa服务器实现CGI功能

    CGI简介 CGI 是Web 服务器运行时外部程序的规范 按CGI 编写的程序可以扩展服务器功能 CGI 应用程序能与浏览器进行交互 还可通过数据库API 与数据库服务器等外部数据源进行通信 从数据库服务器中获取数据 格式化为HTML文档后
  • 07 Qt自定义控件

    在搭建Qt窗口界面的时候 在一个项目中很多窗口 或者是窗口中的某个模块会被经常性的重复使用 一般遇到这种情况我们都会将这个窗口或者模块拿出来做成一个独立的窗口类 以备以后重复使用 首先需要通过项目添加C 类 继承于QWidget 并在类中实
  • c++中的前置和后置加加没你想的这么简单

    1 前置 和后置 的区别1 前置是先加后赋值 后置是先赋值再加 2 前置 比后置 运行的速度快 在汇编底层中后置 会比前置 多一行 当然我这demo不是很准确毕竟也是有偶然的 但是确实是前置 快 3 作为学者的我们应该一探究竟 其实前置 是
  • 开发web系统利用路由能节省系统资源

    author skate time 2010 06 04 开发web系统利用路由能节省系统资源 今天早晨坐车来公司的时候 看见路上实时路况图 上面实时记录着每条公路的实时路况 每个非公交车司机 就可以根据实时路况图来选择最佳路线 这样不但节
  • Unity3D基础知识之Camera摄像机及其属性

    Unity3D基础知识之摄像机Camera 一 简介 Camera 附加了摄像机Camera组件的游戏对象 向玩家捕获和显示世界的设备 同时在一个场景中摄像机的数量不限 组件 Transform 变换组件 Camera摄像机 向玩家捕获和显
  • 深度学习中epoch、batch、step、iteration等神经网络参数是什么意思?

    epoch 表示将训练数据集中的所有样本都过一遍 且仅过一遍 的训练过程 在一个epoch中 训练算法会按照设定的顺序将所有样本输入模型进行前向传播 计算损失 反向传播和参数更新 一个epoch通常包含多个step batch 一般翻译为
  • goland面试题第八天

    第八天 1 关于init函数 下面说法正确的是 A 一个包中 可以包含多个 init 函数 B 程序编译时 先执行依赖包的 init 函数 再执行 main 包内的 init 函数 C main 包中 不能有 init 函数 D init
  • conda和pip都可以安装Python包,那么它们有哪些区别呢?

    文章目录 conda和pip都可以安装Python包 那么二者有什么区别呢 如果想单独了解conda可以查看这篇文章 conda详细的使用教程 不仅能够管理Python包 还能管理虚拟环境 了解pip可以查看这篇文章 Python包管理工具
  • lambda no instance(s) of type variable(s) T exist so that void conforms to R

    代码如下出现标题报错 List
  • 初学TypeScript

    TypeScript介绍 开发环境搭建 常用数据类型 1 什么是TypeScript TypeScript 是JavaScript的一个超集 支持ECMAScript 6标准 Typescript由微软开发的自由和开源的编程语言 TypeS
  • 合作搜索优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 Matlab代码实现 4 参考文献 1 概述 合作搜索算法 CSA 在问题空间中随机生成
  • flutter-使用第三方库,编译和运行版本不一致问题 2

    问题 接着上一个问题 如果是继续有问题 你讲看到这篇文章 新的问题又出现啦 如 Command xx xx develop android flutter app android gradlew app properties Finishe
  • Anaconda切换python版本

    比如 我的 已经安装好了anaconda4 即已经有了python3 5 现在想切换3 7 安装3 7 命令行运行 前提是anaconda环境变量已经配置好 创建一个名为python37的环境 指定Python版本是3 7 conda会为我
  • Dictionary Learning(字典学习、稀疏表示以及其他)

    第一部分 字典学习以及稀疏表示的概要 字典学习 Dictionary Learning 和稀疏表示 Sparse Representation 在学术界的正式称谓应该是 稀疏字典学习 Sparse Dictionary Learning 该
  • js-JavaScript 对象

    1 对象定义 JavaScript 对象是拥有属性和方法的数据 2 格式 键值对 var person firstName John lastName Smith age 50 eyeColor blue move function ale
  • 后端Long型数据传给前端精度丢失问题 分布式id 解决方案

    Long型数据id传给前端精度丢失问题 数据库数据类型bigint 今天将文章类ArticleVo的数据传给前端时 发现前端接收的数据id不一样 如前端获得的id 1405916999732707300 但数据库里是id 140591699