首页 > 其他分享 >前端接收Long类型数据精度丢失问题

前端接收Long类型数据精度丢失问题

时间:2024-10-15 13:20:23浏览次数:10  
标签:解决方案 前端 接口 主键 丢失 类型 Long

项目场景:

后端数据库中主键使用Bigint类型,新增时通过MyBatis-Plus设置ID策略为雪花ID,后端接口返回主键为Long类型。


问题描述

后端接口编写完成后,在postman中测试新增、修改、删除和详情接口都正常。在同前端调试过程中发现无法通过主键对后端数据进行操作。


原因分析:

首先听到前端反馈这个问题时,内心深处在想这个前端怎么回事,怎么接口都不会调用(PS:我写的接口怎么可能有BUG),保险起见还是暗戳戳的通过postman测试了一遍接口发现一切正常,又打开测试环境通过浏览器检查查看接口调用情况,发现前端传递到后端的主键同后端返回的主键不相同。(PS:看果然是你前端的问题吧)


解决方案:

查询资料后发现前端的数据格式没有Long类型只有Number 和 BigInt,在接收后端数据时默认为Number 类型,当超出其安全范围(即大于 2^53 - 1)的整数,会丢失精度。
解决方案一:后端通过拦截器的方式在接口返回时将全部的Long类型转换为String类型返回到前端
解决方案二:前端在接收时强制转换为BigInt
解决方案三:前端使用支持大整数的库
本人更加倾向于采用第一种解决方案来解决这个问题,毕竟这个处理更加简单方便。

标签:解决方案,前端,接口,主键,丢失,类型,Long
From: https://blog.csdn.net/yanting_java/article/details/142904326

相关文章

  • 【前端】如何制作一个简单的网页(3)
    接下来我们为html元素添加网页内容。网页内容按照功能的不同可以区分为网页头与网页体两个部分。先来说说什么是网页头。网页头网页头(又称为网页头部信息)向浏览器提供文档的一些信息。这些信息包括网页的名称、编码方式、样式、JS代码等。<head>文档的所有信息均包......
  • 自然语言处理:第五十二章 LongCite:助力RAG应用,让大模型精准找到引用
    代码:https://github.com/THUDM/LongCite\数据:HF:https://huggingface.co/datasets/THUDM/LongCite-45k魔搭:https://modelscope.cn/datasets/AI-ModelScope/LongCite-45k模型:HF:https://huggingface.co/THUDM魔搭:https://modelscope.cn/organization/ZhipuAIDemo:https:/......
  • 洛谷题单指南-字符串-P1470 [USACO2.3] 最长前缀 Longest Prefix
    原题链接:https://www.luogu.com.cn/problem/P1470题意解读:求s最长前缀长度,使得可以拆解成p集合中的字符串解题思路:动态规划:设s字符串下标从1开始,p集合用set<string>保存所有的元素状态表示:设f[i]表示前i个字符s[0~i-1]是否能拆解成p中的元素状态计算:对于j=i-1开始往后倒......
  • 若依前端菜单管理中路由地址、组件路径、权限字符的使用
    过段时间就忘了,赶紧动笔记下来——鲁迅创建菜单时,页面上需要填写几个关键信息,以下为个人理解欢迎指正路由地址菜单类型是目录和菜单时都需要,目录类型时填写views下目录名称,菜单类型时填写vue文件所在(子)目录名,下面分开举例。先看一个效果图企业管理是目录类型,企业信息和......
  • 前端进阶之路:推荐几本不可错过的前端开发书籍
    前端开发是一个不断更新换代的领域,作为一名前端工程师,持续学习和提升自己是至关重要的。阅读专业书籍是系统学习前端知识的一种有效方式。以下是一些前端开发者不可错过的书籍推荐,帮助你巩固基础,拓宽视野,成为更优秀的前端工程师。一、《JavaScript高级程序设计》(第4版) 作者......
  • 微前端之模块联邦架构
    在项目中实施模块联邦架构(ModuleFederation)主要涉及以下步骤:了解需求和规划架构:确定哪些部分的应用程序可以被分割成独立的模块。规划模块之间的通信和数据共享机制。设置构建工具:确保你使用的是支持模块联邦的构建工具,如Webpack5+。配置Webpack以支持模块联邦。这......
  • Vue2+ECharts+Mock.js实现前端后台通用管理系统页面
    一、前言  在现代Web开发中,前端框架与数据可视化工具的结合能够显著提升用户体验。本文将介绍如何使用Vue2和ECharts构建一个通用的后台管理系统页面。利用Vue2的组件化特性,可以高效管理应用状态与UI交互,而ECharts则提供多样的图表类型,便于展示数据分析结果。通过整合这两......
  • 游戏《黑神话:悟空》丢失APEX_Clothing_x64.dll文件引起的启动失败问题如何解决
    一、引言《黑神话:悟空》作为一款备受喜爱的游戏,玩家在启动游戏时可能会遇到因丢失APEX_Clothing_x64.dll文件而导致的启动失败问题。这一问题无疑会影响玩家体验游戏的热情,不过,我们可以通过多种方法来解决这个问题。二、《黑神话:悟空》丢失APEX_Clothing_x64.dll文件的原......
  • CF1814B. Long Legs 题解 枚举
    题目链接:https://codeforces.com/problemset/problem/1814/B题目大意有一个无限大的二维平面,我们用\((x,y)\)来表示平面中横坐标为\(x\)纵坐标为\(y\)的那个位置。一个机器人被放置在该二维平面的\((0,0)\)位置中。该机器人的腿长可以调节。最初,它的腿长为\(1\)。......
  • 10月最新版本所有功能正常使用 全开源TikTok跨境商城源码 独立站商城运营+带文字教程
    10月最新版本,非源码站垃圾,所有功能最新所有功能已更新所有功能已更新所有功能已更新....更新日志:9月25日:1.新增加商城落地页,更大气更直观的了解商城2.增加卖家进货时的授权码(后台可进行修改) 8月5日:1.新增一键更新功能,后面更新了代码可以,后台一键拉取新代码自动部署......