Laravel如何自动将雪花ID转换成长整型字符串?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1133个文字,预计阅读时间需要5分钟。
由 Laravel 教程栏目为大家介绍如何将 Laravel 中的长整型雪花ID转换为字符串的方法,希望对需要的朋友有所帮助!在设计 API 时,出于安全性等因素考虑,有时需要放弃使用自增 ID,转而使用ID。
下面由Laravel教程栏目给大家介绍Laravel自动转换长整型雪花ID为字符串的方法,希望对需要的朋友有所帮助!
在设计 API 时,出于安全性等因素考虑,有时需要放弃使用自增 ID,使 ID 非连续且不可猜测。通常可以使用 Hash id,UUID,雪花 ID 等来实现。
在最近的一个项目中,我尝试使用雪花 ID。一通折腾下来发现,逼格挺高,实现也挺简单。然而当我继续撸起袖子与前端部分对接时,却出现了 JS 精度丢失问题,因为存储的 ID 是一个 unsigned bigint 型的值。(至于为什么会有精度丢失现象,这里就不具体解释了,不清楚的可以自行搜索),本文主要介绍解决办法。
想要解决这问题,基本原理也很简单,就是把 ID 转成字符串再返回给前端。
错误尝试
一开始我想到的是使用 Laravel Eloquent 模型的模型访问器。
本文共计1133个文字,预计阅读时间需要5分钟。
由 Laravel 教程栏目为大家介绍如何将 Laravel 中的长整型雪花ID转换为字符串的方法,希望对需要的朋友有所帮助!在设计 API 时,出于安全性等因素考虑,有时需要放弃使用自增 ID,转而使用ID。
下面由Laravel教程栏目给大家介绍Laravel自动转换长整型雪花ID为字符串的方法,希望对需要的朋友有所帮助!
在设计 API 时,出于安全性等因素考虑,有时需要放弃使用自增 ID,使 ID 非连续且不可猜测。通常可以使用 Hash id,UUID,雪花 ID 等来实现。
在最近的一个项目中,我尝试使用雪花 ID。一通折腾下来发现,逼格挺高,实现也挺简单。然而当我继续撸起袖子与前端部分对接时,却出现了 JS 精度丢失问题,因为存储的 ID 是一个 unsigned bigint 型的值。(至于为什么会有精度丢失现象,这里就不具体解释了,不清楚的可以自行搜索),本文主要介绍解决办法。
想要解决这问题,基本原理也很简单,就是把 ID 转成字符串再返回给前端。
错误尝试
一开始我想到的是使用 Laravel Eloquent 模型的模型访问器。

