设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
程序员
›
为什么后端经常会出现不按接口定义的类型返回值呢 ...
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
社保缴纳基数引发的讨论,表示理解不了
›
车牌摇到号了,无奈手头不宽裕,纠结是买二
›
去马来西亚做计算机靠谱吗?
›
最终还是对开发者下手了🤣
›
公司开始主动补缴社保了,是有什么大雷么?
今日热议主题
收一个无毛病的 ipone11 或者 ipone12
为什么大部分游戏都是白天停服更新,不是晚
收一个招行体检白 , 120 左右
有没有适合程序员创业的项目呢 搞个什么程
看 B 站的评论也问好几个 AI 关于某手机的
购买 OpenAI API 和 Claude API 最方便的第
麻烦 macmini4 朋友帮个忙
想要 有线头戴耳机,真诚求推荐!
开发了个小玩意,可以快速的开发自己的智能
求助: ios youtube 无法播放,但网页端可以
为什么后端经常会出现不按接口定义的类型返回值呢
pixcai
· 2024-8-16 18:04:55 · 436 次点击
我有个疑问,为什么后端经常会出现不按接口定义的类型返回值呢?
例如文档上写着:
```ts
{
id: number;
data: string[];
}
```
返回的时候却返回:
```ts
{
id: "1000",
data: null,
}
```
为什么后端不做处理呢?换过几家公司,见过好几个后端这样的了。一般来说,定义了`number`就返回`number`,定义了数组至少返回空数组`[]`吧?
举报
·
436 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最新评论
18 条回复
沙发
brader
小成
2024-8-16 18:16:36
第一个 ID 不应该,要他统一一下。
第二个为空用 null 我倒是见的不少,不单数组,整形、字符串为空都返回 null ,有些系统是这样的,这个做法正常不正常有待商榷
板凳
Goooooos
初学
2024-8-16 18:18:28
id:number ,有时候是需要转为 string 下发,但也仅限大于 48 位的整形。
地板
darkengine
小成
2024-8-16 18:19:06
我们后端就是这样的,跟他反馈,丫还说让前端对每一个字段判空。。。
5#
donaldturinglee
小成
2024-8-16 18:25:38
呃,我自己做的 data 为空是返回 null 的。不过有文档的话还是以文档为准
6#
heysnakelis
小成
2024-8-16 18:28:59
可能 data 可能是查询数据的结果,查询到了是数组,查不到是 null 。
7#
wuzzispacelake
小成
2024-8-16 18:33:38
因为很多语言的引用类型都是 nullable 的,在业务上如果查不到对应的内容,可以返回 null ,可以返回一个 default(T),也可以用 code 来区分是否有数据,a matter of taste ;至于 int 和 str 的问题,老生常谈,有时候是从 Redis 里拿出来就直接丢出去了,说明 Deserialization Serialization 做的不好,或者素养不行
8#
wu00
小成
2024-8-16 18:42:35
```
{
id: long;
data: string[]?;
}
```
因为后端定义的是长整型 id 和 nullable data.
1 ,后端自作多情将长整型统一序列化成了 string ,以为是在帮前端擦屁股(其实前端完全能做到不丢失精度),结果没擦干净(Model 转文档时没改数据类型)
2 ,接口转文档没定义完整 Schema ,导致为标注参数是否 nullable
9#
vikaptain
小成
2024-8-16 18:51:56
id 是 number 类型而返回的是字符串的原因大概率是因为后端使用的是 long ,js 处理后端返回的 id 时会丢精度。所以后端对于 long 类型在转为 json 的时候会转为 string 返回。
10#
sagaxu
初学
2024-8-16 19:01:17
后端是 PHP? number 和 string 混用很正常
下一页 »
1
2
/ 2 页
下一页
返回顶部