前端和Postman调用同一个接口,拿到的数据不一样

1、表现

联调一个List接口,Postman自测得到的ID和前端调用得到的ID,结果不一样。前者结果:

后者结果:

同一份代码、同一个数据库,出现这种错误,大概率是类型转换时出问题了,但检查代码发现,后端并未涉及类型转换。

2、原因

前端浏览器会有数字溢出

3、解决

定义Vo类时,指定:将结构体对象序列化成json字符串时,将该字段的值转为字符串类型输出。

go 复制代码
type Example struct {
    ID uint64 `json:"id,string"`
}

// 示例
e := Example{ID: 123}

以上,序列化e对象,json串为:

go 复制代码
 {"id":"123"}

反之:序列化时,还是保持int型输出

go 复制代码
type Example struct {
    ID uint64 `json:"id"`
}

// 示例
e := Example{ID: 123}
// 序列化为 JSON: {"id":123}
相关推荐
kidding7239 分钟前
高效备忘清单工具类小程序
前端·计算机网络·微信小程序·小程序
IMPYLH20 分钟前
HTML 的 <abbr> 元素
前端·算法·html
李白的天不白43 分钟前
Tree-Shaking
前端
Csvn1 小时前
TypeScript:你以为安全的 `JSON.parse` 其实是颗雷 — 运行时类型安全实战
前端·javascript
橘子星1 小时前
深入理解线性数据结构:栈、队列与链表
前端·javascript
dadaobusi1 小时前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端
用户059540174461 小时前
Redis 缓存过期不一致踩坑实录:一个 bug 让我排查了 3 小时,最终用 Pytest 自动化堵上漏洞
前端·css
东风破_1 小时前
AJAX 异步请求:从回调地狱到 async/await,到底解决了什么?
前端
Larcher1 小时前
JS 数据类型的八重人格与内存真相
前端·javascript
星辰徐哥1 小时前
工具推荐:HTML5+AI开发必备的前端调试工具
前端·人工智能·html5