关于Long类型传参到前端的相关BUG
2022/3/7 6:17:21
本文主要是介绍关于Long类型传参到前端的相关BUG,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
BUG解决
问题描述:
在制作博客查看文章详情时候遇到传到前端的id和后端不一样导致无法显示页面
原因
因为ID是用的雪花算法,Long类型的id返回前端会导致进度丢失
丢失的原因:
js 的 number 类型支持的最大值是9007199254740992 (2 的 53次方 -1),溢出之后的精度会丢失,导致前后端的值不一致。 java 的 long 类型最大值为 9223372036854775807,远高于 js number类型的最大值,所以这个坑就出现了。
解决方法:
可以在每个实体类的id字段上加注解
@JsonFormat(shape = JsonFormat.Shape.STRING) private Long id;
注:目前觉得这个方法最简单又好用,如果把ID转为String类型会牺牲了 long 类型的性能优势
小Tips:
要注意出问题的实体类在哪里,可以通过查看相关方法的代码得知。
这篇关于关于Long类型传参到前端的相关BUG的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25前端大厂面试真题解析与实战攻略
- 2024-12-25如何准备前端面试:新手指南
- 2024-12-25前端面试题详解与实战攻略
- 2024-12-25前端面试真题详解与实战攻略
- 2024-12-252024前端大厂面试真题详解及备考指南
- 2024-12-252024前端面试必备指南:从零开始掌握前端面试技巧
- 2024-12-252024前端面试题详解与实战指南
- 2024-12-21动态面包屑教程:新手入门指南
- 2024-12-21动态主题处理教程:新手必读指南
- 2024-12-21富文本编辑器教程:新手入门指南