长整型 ID 传到前端精度丢失,序列化成字符串

JS 的 Number 是双精度,安全整数只到 2 的 53 次方减一,雪花算法那种 19 位 ID 传过去末几位就被抹平了。

两种改法:后端把 Long 序列化成字符串返回,或全局配置让所有 Long 统一输出成字符串。

前端对 ID 一律当字符串处理,别做算术,也不要用 parseInt 转。

// Java:Jackson 全局把 Long 输出成字符串
SimpleModule mod = new SimpleModule();
mod.addSerializer(Long.class, ToStringSerializer.instance);
mod.addSerializer(Long.TYPE, ToStringSerializer.instance);
new ObjectMapper().registerModule(mod);
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容