后端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 中有效地对图像进行颜色循环

    我正在编写一个曼德尔布罗分形查看器 我想以智能的方式实现颜色循环 给定一个图像 我想修改它的 IndexColorModel 据我所知 没有办法修改 IndexColorModel 也没有办法为图像提供新的 IndexColorModel
  • 在 Spring Boot 中重新加载/刷新缓存

    我正在使用 Spring Boot 对于缓存 我使用 Ehcache 到目前为止一切正常 但现在我必须重新加载 刷新 那么我该如何执行此操作 以便我的应用程序不会出现任何停机时间 我在Spring Ehcache中尝试了很多方法 但它不起作
  • Spring MVC 中的 CSRF(跨站请求伪造)保护

    我对春季的 CSRF 跨站请求伪造 保护有点困惑 不 我有我的 jsp 我的控制器和一个 Web 服务 我想要做的是在 Web 服务级别验证令牌 如果令牌匹配 则运行 Web 服务 在我的例子中执行数据库插入 JSP file
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • Java - 了解 PrintWriter 和刷新的需要

    好吧 首先我对所有代码表示歉意 但我觉得代码太多总比代码不够好 我正在制作一个简单的聊天客户端和印刷机 尤其是我正在努力解决的问题 使用现在的代码 它将与服务器类交互 并且完美地打印我想要打印的内容 但是 当我删除 writer flush
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • 使用用户名进行 Java LDAP 身份验证

    好吧 这让我发疯 我正在尝试使用 Java 创建 LDAP 身份验证 如果我在 SECURITY PRINCIPAL 中使用我的名字和姓氏 一切都很好 这是我的代码 try Hashtable
  • Java 中的 TreeSet 与 C#.net 的等效项

    我有 Java 代码 其中包含TreeSet 我想将代码转换为 C 我可以使用哪个等效集合 如果没有 请提出替代方案 那将是系统 集合 通用 SortedSet
  • 读取 Nashorn JO4 和 NativeArray

    Java调用代码 import jdk nashorn api scripting myCustomHashMap dataStore new myCustomHashMap ScriptEngineManager sem new Scri
  • IntelliJ 建议错误的 @NotNull 注释

    IntelliJ 建议导入com sun istack internal NotNull以下程序中的 NotNull 注释 这是错误的 public class Test implements Comparable
  • JavaFX 动画使用循环?

    我正在尝试制作一款类似太空侵略者的游戏 我画了一个正方形 我想通过使用循环逐步向下移动它thread sleep 然而 正方形立即被绘制出来 我知道有可以使用的动画路径 但我想保持低水平并仅使用坐标系 有没有办法使用这样的循环来制作时间轴动
  • Java中的运算符重载和覆盖

    运算符重载和运算符重写有什么区别 它们在继承和控制台程序中是否相同 Java 不支持运算符重载和重写 检查以下引用自的描述 http java sun com docs white langenv Simple doc2 html http
  • 在 JSF 自定义验证器中区分 ajax 请求和完整请求

    我的验证器需要知道它是完整请求还是 ajax 请求 在我当前的解决方案中 我检查 http 请求标头X Requested With元素 public void validate FacesContext context UICompone
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 如何在Android中使用资源

    一个人如何使用资产 我有这个代码 AssetManager assets getAssets InputStream stream assets open test txt 看起来它只能在 Activity 类中使 用 如果我尝试在另一个类
  • APACHE POI 从 Java 中的 Excel 获取精确的字体颜色

    在 Excel 工作表中 如何使用 Java 中的 Apache POI 获取准确的字体颜色值 我试图通过使用来获取字体颜色 org apache poi ss usermodel Font f book getFontAt style g
  • 使用 Lint 和 SonarQube 分析 Android 项目

    我真的 溢出 了试图让这些东西一起工作 我按照这里的指示进行操作 http docs sonarqube org display PLUG Android Lint Plugin http docs sonarqube org displa
  • 如何使 RSACryptoServiceProvider 在没有填充(nopadding)的情况下工作?

    我需要使 C 应用程序与 Java 应用程序兼容 Java 应用程序使用Cipher getInstance RSA ECB nopadding 初始化器使密码 ECB 和无填充 但是 在 C 中 您有 2 个填充选项 OAEP 填充或 P
  • 解析 SWIG 接口文件的结构属性

    这是我不久前问过的问题的延续 为通过参数返回的函数创建类型映射 https stackoverflow com questions 12793973 create a typemap for a function that returns
  • SecurityContextHolder.getContext().getAuthentication() 返回 null

    我想使用以下代码手动绕过 spring Security 的用户 User localeUser new User UsernamePasswordAuthenticationToken auth new UsernamePasswordA

随机推荐

  • 计算机网络原理选择题

    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