Soft_Job 板


LINE

我看有些是状态码200,空data 但有些又是做404,然後回个message 数据不存在之类的 这哪一种做法比较好? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.185.127 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1655865504.A.17A.html
1F:推 ntpuisbest: 加个Status判断是否为空会好点吗? 06/22 10:48
2F:→ vi000246: 200啊 是说这问题你可以问同事吧 06/22 10:49
3F:推 CaptPlanet: 200 06/22 10:50
4F:推 godddddd: Body empty 204 06/22 10:50
5F:→ godddddd: Error code 404 06/22 10:50
6F:→ godddddd: Success and return body 200 06/22 10:50
7F:→ godddddd: 前公司用这样表示 06/22 10:50
8F:→ bheegrl: 200,回404我会觉得没打到,当然这个可以谈的 06/22 10:54
9F:→ LINGZ: 回404,怎麽跟api不存在区别? 06/22 10:56
10F:推 Romulus: 看没资料的物理意义 如果是他不能没有但是没有就400/404 06/22 11:10
11F:→ Romulus: 如果没有资料是正常状况就回200空data 不推荐204 06/22 11:11
12F:→ Romulus: 204比较像是那种永远不会有回传的API回的 06/22 11:11
13F:→ Romulus: 另外404纯留给打错path/API不存在比较好懂 06/22 11:13
14F:推 giacch: RESTful的锅 06/22 11:13
15F:推 bronx0807: 200 有找到资源,但该资源返回空资料 06/22 11:29
16F:→ gura9527: http status不是这样用的 06/22 11:39
17F:→ devilkool: 怎麽会用404.... 06/22 11:40
18F:推 aidansky0989: 看错误原因,通常是200给reason或403 06/22 11:46
19F:→ z56562337: 404 只会觉得 url 打错吧 06/22 11:46
20F:推 alihue: 你不会多一个 numFound 逆 06/22 11:54
21F:推 popmentos: 看收到空值後,你的後续动作是什麽,状态码提示你之後 06/22 12:04
22F:→ popmentos: 要导向哪个动作。 06/22 12:04
23F:→ bill0205: 当然是200..404是针对path不存在而不是资料不存在 06/22 12:12
24F:推 bill0205: 除非你说是像这样/{id} 没资料给404合理(?! 06/22 12:15
25F:推 mike8469: 200, 400-499 用在用户端错误 06/22 12:34
26F:→ yutou88: 404会觉得url打错+1 06/22 12:34
27F:→ longlongint: 预料之内 200 预料之外 404 06/22 12:50
28F:→ longlongint: 200 功能正常,查无此资料 06/22 12:50
29F:→ longlongint: 404 有点像在反问 caller 你在做什麽 06/22 12:51
30F:推 Lhmstu: 200吧 06/22 12:53
31F:推 youtuuube000: 推10楼 06/22 12:55
32F:→ Hsins: 如果是以 RESTful 角度去设计的话,举 /users/<USERNAME> 06/22 13:09
33F:→ Hsins: 为例,当 <USERNAME> 的资源不存在时,返回状态码 404 06/22 13:10
34F:→ Hsins: 比较其他状态码:401 (没有授权) 403 (有授权但权限不够) 06/22 13:12
35F:→ Hsins: ... 参考 GitHub REST API 的实现也是这样做的 06/22 13:13
36F:→ Hsins: 可是具体还是要看实际场景需不需要这些 06/22 13:13
37F:→ Hsins: 今天如果是请求 HTML 页面资源的话,早年没东西塞 200 会 06/22 13:15
38F:→ Hsins: 在 SEO 上被降 ranking 06/22 13:15
39F:推 EEeliteEE: 视你组织 code style 而定 06/22 13:38
40F:推 opliya: 200 status fail 06/22 13:51
41F:推 luke72: REST API的精神是要回归http status code,回404 06/22 13:59
42F:→ luke72: 但是相关配套的程式如果处理不好容易出错,不如回200 06/22 14:00
43F:→ Romulus: 应该只有403是不行的ㄅ 06/22 14:02
44F:推 Jichang: json 的空 是什麽意思 06/22 14:14
45F:→ lturtsamuel: 空的当然是200阿 我前公司就用404 导致一堆问题 超白 06/22 14:27
46F:→ lturtsamuel: 痴 06/22 14:27
47F:→ lturtsamuel: api不存在应该也不是404 400比较对 404像是你用名字 06/22 14:29
48F:→ lturtsamuel: 或id去查结果资料库没这东西 06/22 14:29
49F:→ ssccg: restful来说是404没错啊,只是现在人看到404就觉得网址错 06/22 14:37
50F:→ ssccg: 原始http规格就整个URI代表资源,把404限缩到path未实作的 06/22 14:47
51F:→ ssccg: 反而是後来各种web framework,只是错的人多了就变对的了 06/22 14:47
52F:→ ChungLi5566: 如果乱打还回200 会被弱扫工具判断成有弱点 06/22 15:22
53F:→ adsl12367: 200 msg放查无资料 06/22 15:26
54F:推 lturtsamuel: 假设是一个论坛 你要找一个看板的文章 给错看板id那 06/22 15:26
55F:→ lturtsamuel: 叫做404 有这个看板但没有文章 那叫做200 就这样 06/22 15:27
56F:推 cloudsan: 搜寻无结果200,查询不存在的使用者404 06/22 16:12
57F:→ TheArrow: 我都传204^_^ 06/22 16:42
58F:推 MyNion: 请求成功但response空body,回传204 06/22 16:49
59F:→ MyNion: 或是手工点,传200 + 字串"没有内容" 06/22 16:50
60F:→ sharek: 推文看下来似乎没有标准?内部讨论好就好了是吗 06/22 16:56
61F:推 Romulus: 是 其实没有很硬的标准 尤其内部的话真的协调好就好 06/22 17:00
62F:推 crazycy: RESTful的话 查询不存在的ID之类的话就404阿 06/22 17:00
63F:→ johnny94: 资源不存在跟资源存在只是目前没有的差别 06/22 17:32
64F:→ superpandal: 只爱用两种状态 错误给原因 前端管理错讯息是冏的 有 06/22 18:59
65F:→ superpandal: 的还前後端都维护一套更冏 06/22 18:59
66F:推 mathrew: 你的案例404很怪,404直觉就是错误的URL 06/22 19:00
67F:推 now99: 发生系统错误不也404,你要怎麽分辨 06/22 19:35
68F:→ now99: 不如rtnCode 处理 06/22 19:36
69F:推 TheWhack: 200比较适合,因为路径无误,而且空资料也是一种资料 06/22 19:40
70F:推 quickey: 404吧 回啥小200 06/22 19:40
71F:→ Hsins: 发生系统错误哪会是 404?拜托不要误导人 06/22 19:43
72F:推 pilor: 自己觉得如果是用id找不到回404 06/22 19:46
73F:→ pilor: 如果是搜寻资料这种会多笔的用200然後是空资料 06/22 19:46
74F:推 rollr: 回404的可以 fired 了 06/22 19:54
75F:推 pokemonmen: 有成功就2 开头 我以为是这样 06/22 20:12
76F:→ moom50302: 回404来乱的吗? 06/22 20:45
77F:→ yoyo930021: 我的习惯是 user/{id} 是 404 list 的话 200 空阵列 06/22 21:11
78F:→ yoyo930021: 不过这个还是看团队约定啦 06/22 21:12
79F:→ yoyo930021: 毕竟 HTTP Status Code 到底代表协议本身的状态 06/22 21:12
80F:→ yoyo930021: 还是 API 提供服务的状态就有的吵了 06/22 21:12
81F:推 yahuichang: 念过厂商HTTP Status Code 404 ,怎麽知道是call 错, 06/22 21:35
82F:→ yahuichang: 还真的没资料。 06/22 21:35
83F:推 luke72: REST就只是篇博士论文,学术界嘛,根本没实战验证过 06/22 21:53
84F:→ luke72: 发明者拿到学位就走人了,哪管你照着做有多少相容问题 06/22 21:54
85F:→ Hsins: 所以有很多问题啊,拆分粒度不够或太小都不适合,要嘛拿到 06/22 21:59
86F:→ Hsins: 太多不必要的资料,要嘛需要层层往下才拿到想要的资料,一 06/22 22:00
87F:→ Hsins: 个是浪费流量资源,一个是频繁访问。所以现在有 GraphQL 嘛 06/22 22:00
88F:推 jlhc: 200... 06/22 22:18
89F:推 opliya: Get query 连id 都找不到回404没问题,如果有id 就回个200 06/22 22:39
90F:→ opliya: null data 06/22 22:39
91F:推 jackflu: 水,这个问题不错喔,是技术又不会太冷门,想多看点讨论 06/22 23:05
92F:推 MoshPit: 当然是200,回传空阵列即可。404是找不到该route的时候才 06/22 23:17
93F:→ MoshPit: 回传 06/22 23:17
94F:推 viper9709: 不要用404比较好吧 06/22 23:20
95F:推 sakyle: 有这个路径为什麽是404? 06/22 23:31
96F:→ kurtsgm: ..........200啦干 06/22 23:31
97F:→ sakyle: 都到仓库翻东西了还跟客人说没有找到这条路? 06/22 23:32
98F:→ alan3100: 刻意把404设计成单独给bad url用不是给有心人猜嘛 06/23 00:53
99F:→ alan3100: 不然你去参考大厂怎样做 我所知aws azure是回传404 06/23 01:15
100F:→ alan3100: url,参数...等等client错误大多是回400+reason 06/23 01:28
101F:推 jinmin88: 资源不存在回404..单纯没body回204 06/23 01:33
102F:推 stupid0319: 200 06/23 07:10
103F:推 sharek: 既然没有标准,没资料回404也还好吧,文件or讲好就好了 06/23 07:20
104F:→ sharek: 404也不一定只能代表路径不存在 06/23 07:36
105F:→ DrTech: 200。或改用204。看来原文基础没学好。这些 status code是 06/23 08:22
106F:→ DrTech: 用来判断什麽都不太清楚。API存取正常就是要回2xx。 06/23 08:22
107F:→ DrTech: RFC2616,明确规范,2xx是成功。4xx,是client error. 。 06/23 08:24
108F:→ DrTech: 没错误不要用4xx。 06/23 08:24
109F:→ DrTech: 不懂的去查国际标准怎麽写。 06/23 08:26
110F:推 willy0206: https://i.imgur.com/8jZ79uy.jpg 06/23 11:54
111F:→ ssccg: 其实这篇原PO并没有限定说在问RESTful,所以应该没有哪个比 06/23 15:17
112F:→ ssccg: 较好,不要混在一起就好 06/23 15:17
113F:推 za755188: 这个吵不完啦XDD 不过我认识的前端都希望回200 06/23 17:37
114F:推 penril0326: 200啊 404感觉是path错了 06/23 18:22
115F:推 bill0205: 如果本来是预期为清单类型 结果没有资料 那就是200 06/23 20:41
116F:→ bill0205: 但如果最後是指定资源值 404或是200就比较有争议 06/23 20:42
117F:→ bill0205: 但假如是类似/api/users/<user> 找不到 丢404好像很合理 06/23 20:42
118F:推 jinmin88: 建议website跟api server分开,不然就真的404会很混乱. 06/24 01:07
119F:推 preisner: 绝对不是用404, 那是http的error code拿来混用绝对不好 06/24 08:13
120F:推 strlen: 空资料是空资料 伺服有问题是伺服有问题 这两回事 06/24 11:43
121F:→ strlen: 只要API能正常运作 都不应该吐200以外的东西 06/24 11:43
122F:→ strlen: 空资料只是目前没有东西 不代表之後也不会有东西 06/24 11:43
123F:→ strlen: API资料状态 那是连线状态确认没问题之後的事 06/24 11:44
124F:→ strlen: 资料状态 与 连线状态 是完全不同的东西 06/24 11:45
125F:推 hegemon: 楼上你可以用204更精确 06/24 11:48
126F:推 Romulus: 可是404和连线状态没有半毛钱关系 06/24 16:29
127F:推 askacis: 200,body看资料格式,xml的话就带空元素之类的方式 06/25 12:08
128F:推 nayeonmywife: 基本上200是代表回传成功,至於有没有资料就装在dat 06/25 13:54
129F:→ nayeonmywife: a吧,目前是这样规范 06/25 13:54
130F:推 npkalala: 404 Not found不能只看字面意思吧,要了解一下内涵 06/25 17:39
131F:→ strlen: 楼上是不是以为连线状态指得是你的网路状态? 06/25 22:16
132F:→ strlen: 我说的是连到该伺服器API的状态好吗? 06/25 22:16
133F:→ strlen: 「状态」也不一定只是连不上 还可能有其他种状况 06/25 22:20
134F:推 bill0205: 404不代表不用在body资料吧 预设格式还是要有 06/26 11:16
135F:→ honestyer: 用404太怪异了吧..200 回status 06/28 14:55
136F:推 noiretblanc: 200 06/29 20:21
137F:推 jl40: 424 06/30 22:20
138F:推 shimachokong: 200,没有那个 api才是 404 07/02 18:34
139F:→ hannah5269: 404新理解.. 07/08 03:13







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灯, 水草

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

TOP