当前位置: 首页 > wzjs >正文

专业做域名的网站简单个人网站开发

专业做域名的网站,简单个人网站开发,网站开发网页跳转到新的页面,wordpress会员下载功能为什么后端 Long 类型 ID 要转为 String? 在前后端分离的开发中,Java 后端通常使用 Long 类型作为主键 ID(如雪花算法生成的 ID)。但如果直接将 Long 返回给前端,可能会导致前端精度丢失的问题,特别是在 J…

为什么后端 Long 类型 ID 要转为 String?

在前后端分离的开发中,Java 后端通常使用 Long 类型作为主键 ID(如雪花算法生成的 ID)。但如果直接将 Long 返回给前端,可能会导致前端精度丢失的问题,特别是在 JavaScript 环境中。


问题本质

JavaScript 的 Number 类型基于 IEEE 754 双精度浮点数,只能安全表示的整数范围是:

[-2^53 + 1, 2^53 - 1] => [-9007199254740991, 9007199254740991]

而 Java 的 Long 最大值是 9223372036854775807,远超 JS 能表示的范围。

如果后端返回:

{"id": 9223372036854775807
}

前端打印可能是:

console.log(data.id); // 输出 9223372036854776000(精度已丢失)

解决方案

方法一:全局配置 Jackson 将 Long 转为 String(推荐)

在 Spring Boot 项目中,可以通过配置 ObjectMapper,让所有 Long 类型序列化为 String,避免精度问题:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class JacksonConfig {@Beanpublic ObjectMapper objectMapper() {ObjectMapper objectMapper = new ObjectMapper();SimpleModule simpleModule = new SimpleModule();// Long 和 long 全部转为字符串simpleModule.addSerializer(Long.class, ToStringSerializer.instance);simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);objectMapper.registerModule(simpleModule);return objectMapper;}
}

💡 生效后,所有 Long 类型字段将自动序列化为字符串,前端拿到的 ID 是 "9223372036854775807",避免精度问题。


方法二:仅对单个字段生效(局部注解)

如果你只想对部分字段(如 id)转为 String,可在字段上添加注解:

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;public class UserDTO {@JsonSerialize(using = ToStringSerializer.class)private Long id;// 其他字段...
}

方法三:前端处理(不推荐)

虽然前端可以用字符串处理 ID,但如果后端返回的是数字,JS 在接收数据的第一步就已经丢了精度。因此根本的解决方式应该在后端。


总结

方式是否推荐说明
后端全局转 String✅ 强烈推荐统一、安全
局部字段注解✅ 适用于个别字段
仅前端处理❌ 不推荐精度可能已丢失,无法挽回

文章转载自:

http://3sy2wZdJ.knmby.cn
http://PsuvZfJM.knmby.cn
http://8hGadBq7.knmby.cn
http://4gAry2fY.knmby.cn
http://uWcVjM9O.knmby.cn
http://qlxotLGG.knmby.cn
http://wJnWhPUs.knmby.cn
http://IWxS7T7j.knmby.cn
http://tD2eHGsb.knmby.cn
http://6BuCYugc.knmby.cn
http://51RR7QsB.knmby.cn
http://kH4TXwb9.knmby.cn
http://stCnwdNq.knmby.cn
http://96lyiDBI.knmby.cn
http://1MJb7aYG.knmby.cn
http://IFED4qPo.knmby.cn
http://qQKgezPi.knmby.cn
http://B1a2k8NL.knmby.cn
http://gU8HPuYS.knmby.cn
http://INc1PyEr.knmby.cn
http://IoxtXnvR.knmby.cn
http://5X49bfAs.knmby.cn
http://K1QHI18f.knmby.cn
http://kiDsQWMn.knmby.cn
http://5X4lhQ2D.knmby.cn
http://CyqmVdXy.knmby.cn
http://FTMYFmrT.knmby.cn
http://JLEvyetb.knmby.cn
http://ejKwqhMa.knmby.cn
http://Gs4OwJJk.knmby.cn
http://www.dtcms.com/wzjs/647133.html

相关文章:

  • photoshop网站设计呼伦贝尔寰宇网站建设
  • wordpress 获取当前分类id商城网站 不易优化
  • 微小店网站建设多少钱上海市场调研公司
  • 学做网站论坛视频下载从化做网站开发
  • 建网站保定做网站如何报价
  • 做微官网什么网站好网站导航条内容
  • 陕西网站开发公司哪家好小红书推广怎么收费
  • 电脑安装免费的wordpress杭州seo薪资水平
  • 我想做个网站怎么弄推广文案标题
  • 制作介绍的网站模板wordpress菜单出不来
  • 公司做网站需要一个微信小程序需要多少钱
  • 国外做的好的电商网站推荐做游戏网站要备案吗
  • 让网站快速收录没有静态ip可以做网站服务器
  • 国外 优秀网站设计做免费外贸网站册域名
  • 免费淘宝客网站模板宁德网站建设维护
  • 找人做的网站怎么看ftp建网站公司
  • 哪个网站做招聘海报比较好肥城网站开发公司
  • 百度上面做企业网站怎么做厦门建设局官网电话
  • 怎么才能打开一些网站荆州松滋网站建设
  • 怎么做网站内容杭州网站建设网
  • 电商网站安全解决方案寄生虫网站代做
  • 高校网站建设 安全教育手机网站 免费
  • 网站简历模板浙江省工程建设管理质量协会网站
  • 哪个网站查食品建设好制作简易网站
  • 分类目录网站做谷歌联盟微信小程序用到的技术
  • 哪些网站可以做产品推广常用微信小程序api
  • 做网站最烂公司禹顺生态建设有限公司网站
  • 青岛网站seo校园微网站建设方案ppt
  • 网站建设的价值是什么wordpress sae 插件
  • pc端网站建设相关查阅资料网站标题符号