解决前端获取后端id丢失精度问题-----取到后端给的id再传给后端就变了

一、问题场景

前端从后端返回的数据中取出一条数据的id,然后把id再次传给后端去调用别的方法,此时id变了,1750775455104835585变成了1750775455104835000,这其实是因为后端Long类型的精度要比前端高一点,导致精度丢失了

二、解决方案

2.1 后端加注解(实测成功)

**在前端取id的地方,在id上加上注解: @JsonSerialize(using = ToStringSerializer.class) **
在这里插入图片描述
比如,我这里是前端从分页查询列表中取的id,我就在分页查询结果类的id上加注解,这样前端取的时候id就会被序列化成String,避免精度丢失问题,后端还是Long
PS:一般环境下基础代码都是生成的,很多会直接有这个注解
如果后端返回是个结果类可以加注解,如果是单独的一个id,就需要通过修改前端

2.2 前端修改

在前端接收数据处增加以下代码,对接收的id不作转换

{
	transformResponse: [
			function (data){
				return data;
			}
	]
}

三、结束

网上有许多通过配置类的方法,但我实测都未成功,后期再寻找更多方法!!!
任何疑问,欢迎私信指教!!!
分享:
能否把你比作夏日璀璨? 你却比夏季更可爱温存;

狂风摧残五月花蕊娇妍, 夏天匆匆离去毫不停顿。

苍天明眸有时过于灼热, 金色面容往往蒙上阴翳;

一切优美形象不免褪色, 偶然摧折或自然地老去。

而你如仲夏繁茂不凋谢, 秀雅风姿将永远翩翩;

死神无法逼你气息奄奄, 你将永生与不朽诗篇。

只要人能呼吸眼不盲, 这诗和你将千秋流芳!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

karry0130

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值