Soft_Job 板


LINE

其实这都只是参考设计 怎样处理都行 前端能接的起来就好 我个人则是倾向200或204 原因没有什麽 在一些前端套件 非2xx是会进exception 正确的URL但是没有资源 会变成理论上不该exception 但是4xx让它进入exception 简单来说在前端的显示上 没有资源与真正的404是有所区别的 如果同为404造成前端在处理上 要再区分404的差异 怎样选择都是一种trade off 我个人的选择会是不造成前端麻烦的方式 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.235.228 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1655961513.A.860.html
1F:推 qwe70302: 前端泪推06/23 13:28
2F:→ Hsins: 比较麻烦的是有些路由器会劫持 4xx 状态,然後返回一个自己06/23 13:47
3F:→ Hsins: 的页面…06/23 13:47
4F:→ Hsins: 然後有些人可能误解 404 不能返回页面...06/23 13:50
5F:→ Hsins: https://i.imgur.com/4APL4jy.png06/23 13:50
6F:→ Hsins: GitHub 这样的风险就是有可能被路由器或是浏览器劫持,可是06/23 13:51
7F:→ Hsins: 作法是合乎规范的,反而 CODE 传 200 却给 404 页面是积习06/23 13:51
8F:→ Hsins: 难改了...06/23 13:52
9F:推 kewang: 推这篇06/23 14:01
10F:推 neo5277: 200+1不能只自己爽06/23 14:10
11F:→ ssccg: 有时候明明是标准,但也只能跟一堆不标准乱搞的client妥协06/23 14:47
12F:→ ssccg: web上充满这种事情啦06/23 14:47
13F:→ ssccg: 不过追根究底来说这也可能是API设计或呼叫API的人想法还不06/23 14:52
14F:推 Geison: 推06/23 14:53
15F:→ ssccg: 够适应RESTful,这种资源路径不是查询,极端一点来说client06/23 14:54
16F:→ ssccg: 应该本来就知道资源存在才去存取(由别的API取得id、POST或06/23 14:55
17F:→ ssccg: PUT成功後、HATEOAS...),而不是去试不知道有没有的资源06/23 14:55
18F:推 Hsins: 是,如同 ssccg 大说的,以 REST 风格设计时,理应不会有06/23 14:56
19F:→ Hsins: 「正确的 URL 却没有资源」这件事,因为 URL 就对应资源06/23 14:56
20F:→ Hsins: 使用者想要访问不存在的路径,就是想要拿不存在的资源,此06/23 14:57
21F:→ Hsins: 时的 404 既合乎 HTTP Code 的规范也合乎 REST 风格06/23 14:58
22F:→ Hsins: 在开发资源和时程充足的状况下,发生这种事是要回头检视为 06/23 14:58
23F:→ Hsins: 什麽会访问不存在的路径或者说资源06/23 14:59
24F:→ lazarus1121: 我觉得原po只是想问查无资料的情境吧?06/23 15:23
25F:→ sharek: 身为前端,在UX没有明确设计对於"没有资源"或"路径不存在06/23 18:07
26F:→ sharek: "要呈现的差异,我倾向以发生问题的时候可以迅速让技术团06/23 18:07
27F:→ sharek: 队知道是什麽原因的设计方式,所以终究还是看团队约定06/23 18:07
28F:推 s06yji3: Api未必只有前端会call...06/23 19:13
29F:推 s06yji3: Microservice 的情况api大多是其他後端app在call06/23 19:15
不管哪边call都一样要处理 同样404後要再分析是错误还是空资源 ※ 编辑: ripple0129 (49.216.235.228 台湾), 06/23/2022 19:42:25
30F:推 s06yji3: 後端call的时候4xx抛出例外是合理的。 06/23 19:44
31F:推 s06yji3: 包含url正确但是没有资源(GetById时) 06/23 19:46
这样说好了 如果是前端用的api 然後api去取用了资源的api返回404 这样要给前端api返回404还是200 如果这个api是混合多种资源产生的资料 又该怎麽返回资料 当使用404时状况会复杂很多 直白点来说 404符合规范但串接时没有200方便许多 我可以明确知道是URL有问题还是没资料 ※ 编辑: ripple0129 (49.216.235.228 台湾), 06/23/2022 20:49:59
32F:推 s06yji3: 这没有简答。混合多种资源的api应该根据业务逻辑设计api 06/23 21:18
33F:→ s06yji3: gateway 来提供服务。上面推文的想法是就单一资源的api 06/23 21:18
34F:→ s06yji3: 来说的。 06/23 21:18
35F:推 s06yji3: 返回200你还是得依靠response body 来判断。跟status cod 06/23 21:22
36F:→ s06yji3: e没有直接的关系 06/23 21:22
37F:推 s06yji3: 另外,空资源是指search 没有结果吗?是的话,200是合理 06/23 21:31
38F:→ s06yji3: 的。这和GetById是不一样的操作。 06/23 21:31
39F:推 Hsins: 混合多种资源的 API 通常不会采 RESTful 设计 06/23 21:46
40F:推 viper9709: 推这篇 06/23 23:53
41F:→ travelerX: 有些企业内部的设备会拦截 200 以外的 response 06/24 16:02







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP