Re: [讨论] API没资料,回200还是404比较好

楼主: Hsins (翔)   2022-06-25 23:48:07
这篇就不以引述的方式回复了,因为算是对
后续其他人不论在推文中或是回文中的内容
回复,另外也是针对我自己在前一篇文章中
没有提到的部分进行说明。
(1) 叙述问题与回答问题
我不知道这里有多少人上过 jserv的课,如
果有的话,他会频频强调不要“举烛”。从
推文和回文中可以看到,其实不论是发文者
还是回答者,似乎并没有很正视这个问题…

回到最一开始的问题:
“API 没资料要回传 200 还是 404?”
‧什么样的 API 呢?
‧什么样的场景下设计的呢?
‧什么样的状况叫做没资料?
‧有没有基于什么规范或风格?
‧调用的人是谁?
‧你怎么想的呢?
如果没有叙述清楚,要人怎么回答呢?我想
分享一下两段文字:
https://i.imgur.com/JWMQJjn.png
[来源] http://hhp.li/4aq287
https://i.imgur.com/KPxidqA.png
[来源] http://hhp.li/43pp7h
你真的想要得到的答案是这样的吗?
“公司前辈这样做就这样做啦!”
“为了方便,问就是 404 一把梭!”
这样可以得到什么成长吗?你认为去有规模
的公司面试问到这样的问题时,用这样的回
答可以拿到 Strong Hire?老实说,这样的
提问方式和不明就理的回答方式,只会让社
群的风气变得越来越糟。
(2) 不是只有 REST 一种设计风格
虽然在前一篇文章中以及推文中,我主要都
以 REST 风格的叙述为主,但那个前提是我
认为那样的问题叙述下,原 po 的问题是在
下述两种不同情境下,采用 REST 风格而有
所误解:
作者: sssyoyo (柚子)   2022-06-25 23:53:00
优文推,学到不少,谢谢
作者: lasekoutkast (白ㄘ)   2022-06-26 00:13:00
作者: WulinWorks (武林)   2022-06-26 00:51:00
作者: jackblack   2022-06-26 00:53:00
作者: bill0205 (善良的小孩没人爱)   2022-06-26 01:33:00
作者: ss8651twtw (linsc04)   2022-06-26 01:47:00
作者: devilkool (对猫毛过敏的猫控)   2022-06-26 01:56:00
感谢优文
作者: LeoSW (月夜飘雪)   2022-06-26 06:52:00
推问问题的方式
作者: bjk (Up2u)   2022-06-26 06:57:00
11
作者: nh60211as   2022-06-26 08:54:00
优文
作者: yehzu (小叶~)   2022-06-26 09:46:00
真是优文…大推
作者: TAKADO (朕没给的你不能抢)   2022-06-26 09:57:00
推, It depends <- 这一句很有用
作者: windclara (null)   2022-06-26 10:00:00
推推!
作者: wahaha279 (哇哈哈:3)   2022-06-26 10:16:00
作者: toxic541224 (hoho)   2022-06-26 10:17:00
作者: yoshonabee (我右手拿笔如神一般)   2022-06-26 10:31:00
优文推
作者: lovdkkkk (dk)   2022-06-26 11:10:00
推第一点跟那两张图 QQ
作者: as23041248 (KAIKAIKAI)   2022-06-26 11:18:00
这种思维很棒,透过问自己各种问题,考虑自己所在环境的状况,厘清自己到底在做什么,才开始蒐集资料,参考别人作法,解决问题。有时候直接想解决问题忽略掉前提,也是我常犯的毛病,感谢文章给我的提醒
作者: Arctica (欲聆听,必先静默)   2022-06-26 12:32:00
感谢 舒服
作者: lovdkkkk (dk)   2022-06-26 12:54:00
不过新创那段,刚巧我目前在新创,工程最近刚由 2 人增加到 3 人,倒是有 Unit/Api/E2E 测试,及 push 后自动测试与部署,不过测试只针对重点,覆蓋率极低 XDD
作者: kuan (kuan_hiroshi)   2022-06-26 13:54:00
作者: steven95421 (建中潘若迪)   2022-06-26 14:02:00
作者: moszap (无)   2022-06-26 14:10:00
作者: TheWhack (我是德华)   2022-06-26 14:25:00
我是觉得"问题"本身也可以不断refine XD
作者: ppoozine (阿翔)   2022-06-26 14:32:00
作者: Y78 (Y78)   2022-06-26 14:34:00
作者: ccnancy (茶茶茶)   2022-06-26 15:02:00
作者: sky80420 (泽西哥)   2022-06-26 15:19:00
作者: ian90911 (xopowo)   2022-06-26 15:42:00
感谢分享
作者: yc86209 (yc86209)   2022-06-26 15:57:00
作者: stu87616 (文组工程师)   2022-06-26 16:28:00
感谢这串让我知道很多 IT 不懂 Rest 也在写 API
作者: CRPKT (crpkt)   2022-06-26 16:44:00
测试测到重点其实也比覆蓋率重要呀
作者: iamOsaka (欧沙卡)   2022-06-26 17:03:00
作者: mTwTm (天)   2022-06-26 17:04:00
非常完整
作者: Rmustang (大佐)   2022-06-26 17:10:00
作者: pttano (pttano)   2022-06-26 17:13:00
你是不是吃到jserv 口水,回文的style 这么像
作者: drajan (EasoN)   2022-06-26 17:34:00
所以有人才会说提出够好的问题 答案也出来一半了 就是这个意思 “提问”是科学精神的重要一环啊 工程师们
作者: NTUTM04 (TM终号机)   2022-06-26 18:09:00
推,整篇的回答很有条理且易理解
作者: waterwalk (心碎无声)   2022-06-26 19:18:00
问问题是个学问 前阵子也看到stack overflow神人也有写书说 怎么样问问题最合适(就是辣个C#神人)他写的code如果编译不过 编译器要道歉的辣个人
作者: Belieeve (芥末拿铁)   2022-06-26 19:32:00
推推Hsins大,回答得好完整
作者: zxc8787 (摸斗哈压库)   2022-06-26 20:15:00
作者: sharek (...)   2022-06-26 21:10:00
推详细补充
作者: windmax1 (I do my best)   2022-06-26 21:20:00
好文必须推
作者: lofiktb (YOKcruisin)   2022-06-26 22:08:00
优文推
作者: kasimEnix (碰一张)   2022-06-26 23:25:00
推,真心感谢
作者: hsnusonic (sonic)   2022-06-26 23:36:00
好文推
作者: viper9709 (阿达)   2022-06-26 23:52:00
这问题本来就跟实际的状况有关原po没讲的大家当然各自发挥XD
作者: endless1999 (jubee)   2022-06-27 00:46:00
作者: mirror0227 (镜子)   2022-06-27 01:29:00
PTT充满大神
作者: aa0983163178 (Yuki)   2022-06-27 07:20:00
作者: tay2510 (Tay)   2022-06-27 07:32:00
推!好文
作者: justaID (快乐崇拜)   2022-06-27 08:25:00
推好文,前面的提问思维,和后面的style分析都很值得思考,尤其开头的提问思维让我想到经典的客户需求秋千漫画
作者: tomap41017 (绝梦)   2022-06-27 09:18:00
推,这才是思考方式。
作者: ae86357961 (Jasper.Yang)   2022-06-27 10:08:00
推,受益良多
作者: chatnoir (对不起)   2022-06-27 10:45:00
好文不M吗?
作者: zxc6414189   2022-06-27 12:19:00
作者: stiiveo (S哥)   2022-06-27 12:20:00
优质好文!
作者: lairx (lairx)   2022-06-27 12:41:00
作者: whatzup1124 (我是干嘛)   2022-06-27 14:30:00
作者: Tube (水管)   2022-06-27 15:57:00
作者: jackflu (jackflu)   2022-06-27 17:15:00
好扯,太精彩了吧,开头分享的文章也很具有启发性
作者: peter98 (新兵)   2022-06-27 23:14:00
今年跳槽Amazon就是香 香爆
作者: zzzzzz6666 (Yam Man)   2022-06-27 23:22:00
作者: MissPigHead   2022-06-27 23:51:00
推,谢谢
作者: tenpoinyuki (阿苍)   2022-06-27 23:59:00
作者: loxyz (loxyz)   2022-06-28 00:51:00
推。 小瑕疵 Android <==> iOS; Kotlin <==> Swift
作者: kop14922000 (MrDin)   2022-06-28 01:04:00
作者: tw11509 (John-117)   2022-06-28 02:16:00
作者: kingofsdtw (不能閒下來!!)   2022-06-28 04:24:00
安全性我一律回答404只有debug才开 return200 加 debug讯息
作者: tinuo (当归人参)   2022-06-28 08:29:00
推一个,带出很多观点
作者: A1ch3mi5t (波霸奶绿微糖去冰)   2022-06-28 08:51:00
作者: zxcchiou (立叉西)   2022-06-28 10:14:00
推 谢谢学到了
作者: zegas (电风扇啊啊啊啊啊啊啊)   2022-06-28 12:32:00
作者: Kenqr (function(){})()   2022-06-28 17:42:00
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2022-06-29 10:32:00
完全没想到 DevOps/SRE 的观点,404确实是很好判断的依据
作者: kira518 (佐勋)   2022-06-29 15:05:00
作者: corahoda   2022-06-30 00:03:00
作者: MangoTW (不在线上)   2022-07-01 02:09:00
这一串只推这一篇 见解卓越且点出正确的思考方向
作者: air4028 (丹尼尔)   2022-07-01 13:03:00
好文 推
作者: Gwendolynn (影法师)   2022-07-01 19:26:00
推推
作者: www54500 (夏恩)   2022-07-02 01:32:00
作者: EJLin (EJLin)   2022-07-02 15:09:00
完整优文推
作者: adminc (alf chou)   2022-07-02 18:33:00
作者: j606888 (丁丁老大)   2022-07-04 09:15:00
优质文推推

Links booklink

Contact Us: admin [ a t ] ucptt.com