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






暂无评论内容