推 ntpuisbest: 加個Status判斷是否為空會好點嗎? 06/22 10:48
→ vi000246: 200啊 是說這問題你可以問同事吧 06/22 10:49
推 CaptPlanet: 200 06/22 10:50
推 godddddd: Body empty 204 06/22 10:50
→ godddddd: Error code 404 06/22 10:50
→ godddddd: Success and return body 200 06/22 10:50
→ godddddd: 前公司用這樣表示 06/22 10:50
→ bheegrl: 200,回404我會覺得沒打到,當然這個可以談的 06/22 10:54
→ LINGZ: 回404,怎麼跟api不存在區別? 06/22 10:56
推 Romulus: 看沒資料的物理意義 如果是他不能沒有但是沒有就400/404 06/22 11:10
→ Romulus: 如果沒有資料是正常狀況就回200空data 不推薦204 06/22 11:11
→ Romulus: 204比較像是那種永遠不會有回傳的API回的 06/22 11:11
→ Romulus: 另外404純留給打錯path/API不存在比較好懂 06/22 11:13
推 giacch: RESTful的鍋 06/22 11:13
推 bronx0807: 200 有找到資源,但該資源返回空資料 06/22 11:29
→ gura9527: http status不是這樣用的 06/22 11:39
→ devilkool: 怎麼會用404.... 06/22 11:40
推 aidansky0989: 看錯誤原因,通常是200給reason或403 06/22 11:46
→ z56562337: 404 只會覺得 url 打錯吧 06/22 11:46
推 alihue: 你不會多一個 numFound 逆 06/22 11:54
推 popmentos: 看收到空值後,你的後續動作是什麼,狀態碼提示你之後 06/22 12:04
→ popmentos: 要導向哪個動作。 06/22 12:04
→ bill0205: 當然是200..404是針對path不存在而不是資料不存在 06/22 12:12
推 bill0205: 除非你說是像這樣/{id} 沒資料給404合理(?! 06/22 12:15
推 mike8469: 200, 400-499 用在用戶端錯誤 06/22 12:34
→ yutou88: 404會覺得url打錯+1 06/22 12:34
→ longlongint: 預料之內 200 預料之外 404 06/22 12:50
→ longlongint: 200 功能正常,查無此資料 06/22 12:50
→ longlongint: 404 有點像在反問 caller 你在做什麼 06/22 12:51
推 Lhmstu: 200吧 06/22 12:53
推 youtuuube000: 推10樓 06/22 12:55
→ Hsins: 如果是以 RESTful 角度去設計的話,舉 /users/<USERNAME> 06/22 13:09
→ Hsins: 為例,當 <USERNAME> 的資源不存在時,返回狀態碼 404 06/22 13:10
→ Hsins: 比較其他狀態碼:401 (沒有授權) 403 (有授權但權限不夠) 06/22 13:12
→ Hsins: ... 參考 GitHub REST API 的實現也是這樣做的 06/22 13:13
→ Hsins: 可是具體還是要看實際場景需不需要這些 06/22 13:13
→ Hsins: 今天如果是請求 HTML 頁面資源的話,早年沒東西塞 200 會 06/22 13:15
→ Hsins: 在 SEO 上被降 ranking 06/22 13:15
推 EEeliteEE: 視你組織 code style 而定 06/22 13:38
推 opliya: 200 status fail 06/22 13:51
推 luke72: REST API的精神是要回歸http status code,回404 06/22 13:59
→ luke72: 但是相關配套的程式如果處理不好容易出錯,不如回200 06/22 14:00
→ Romulus: 應該只有403是不行的ㄅ 06/22 14:02
推 Jichang: json 的空 是什麼意思 06/22 14:14
→ lturtsamuel: 空的當然是200阿 我前公司就用404 導致一堆問題 超白 06/22 14:27
→ lturtsamuel: 癡 06/22 14:27
→ lturtsamuel: api不存在應該也不是404 400比較對 404像是你用名字 06/22 14:29
→ lturtsamuel: 或id去查結果資料庫沒這東西 06/22 14:29
→ ssccg: restful來說是404沒錯啊,只是現在人看到404就覺得網址錯 06/22 14:37
→ ssccg: 原始http規格就整個URI代表資源,把404限縮到path未實作的 06/22 14:47
→ ssccg: 反而是後來各種web framework,只是錯的人多了就變對的了 06/22 14:47
→ ChungLi5566: 如果亂打還回200 會被弱掃工具判斷成有弱點 06/22 15:22
→ adsl12367: 200 msg放查無資料 06/22 15:26
推 lturtsamuel: 假設是一個論壇 你要找一個看板的文章 給錯看板id那 06/22 15:26
→ lturtsamuel: 叫做404 有這個看板但沒有文章 那叫做200 就這樣 06/22 15:27
推 cloudsan: 搜尋無結果200,查詢不存在的使用者404 06/22 16:12
→ TheArrow: 我都傳204^_^ 06/22 16:42
推 MyNion: 請求成功但response空body,回傳204 06/22 16:49
→ MyNion: 或是手工點,傳200 + 字串"沒有內容" 06/22 16:50
→ sharek: 推文看下來似乎沒有標準?內部討論好就好了是嗎 06/22 16:56
推 Romulus: 是 其實沒有很硬的標準 尤其內部的話真的協調好就好 06/22 17:00
推 crazycy: RESTful的話 查詢不存在的ID之類的話就404阿 06/22 17:00
→ johnny94: 資源不存在跟資源存在只是目前沒有的差別 06/22 17:32
→ superpandal: 只愛用兩種狀態 錯誤給原因 前端管理錯訊息是冏的 有 06/22 18:59
→ superpandal: 的還前後端都維護一套更冏 06/22 18:59
推 mathrew: 你的案例404很怪,404直覺就是錯誤的URL 06/22 19:00
推 now99: 發生系統錯誤不也404,你要怎麼分辨 06/22 19:35
→ now99: 不如rtnCode 處理 06/22 19:36
推 TheWhack: 200比較適合,因為路徑無誤,而且空資料也是一種資料 06/22 19:40
推 quickey: 404吧 回啥小200 06/22 19:40
→ Hsins: 發生系統錯誤哪會是 404?拜託不要誤導人 06/22 19:43
推 pilor: 自己覺得如果是用id找不到回404 06/22 19:46
→ pilor: 如果是搜尋資料這種會多筆的用200然後是空資料 06/22 19:46
推 rollr: 回404的可以 fired 了 06/22 19:54
推 pokemonmen: 有成功就2 開頭 我以為是這樣 06/22 20:12
→ moom50302: 回404來亂的嗎? 06/22 20:45
→ yoyo930021: 我的習慣是 user/{id} 是 404 list 的話 200 空陣列 06/22 21:11
→ yoyo930021: 不過這個還是看團隊約定啦 06/22 21:12
→ yoyo930021: 畢竟 HTTP Status Code 到底代表協議本身的狀態 06/22 21:12
→ yoyo930021: 還是 API 提供服務的狀態就有的吵了 06/22 21:12
推 yahuichang: 唸過廠商HTTP Status Code 404 ,怎麼知道是call 錯, 06/22 21:35
→ yahuichang: 還真的沒資料。 06/22 21:35
推 luke72: REST就只是篇博士論文,學術界嘛,根本沒實戰驗證過 06/22 21:53
→ luke72: 發明者拿到學位就走人了,哪管你照著做有多少相容問題 06/22 21:54
→ Hsins: 所以有很多問題啊,拆分粒度不夠或太小都不適合,要嘛拿到 06/22 21:59
→ Hsins: 太多不必要的資料,要嘛需要層層往下才拿到想要的資料,一 06/22 22:00
→ Hsins: 個是浪費流量資源,一個是頻繁訪問。所以現在有 GraphQL 嘛 06/22 22:00
推 jlhc: 200... 06/22 22:18
推 opliya: Get query 連id 都找不到回404沒問題,如果有id 就回個200 06/22 22:39
→ opliya: null data 06/22 22:39
推 jackflu: 水,這個問題不錯喔,是技術又不會太冷門,想多看點討論 06/22 23:05
推 MoshPit: 當然是200,回傳空陣列即可。404是找不到該route的時候才 06/22 23:17
→ MoshPit: 回傳 06/22 23:17
推 viper9709: 不要用404比較好吧 06/22 23:20
推 sakyle: 有這個路徑為什麼是404? 06/22 23:31
→ kurtsgm: ..........200啦幹 06/22 23:31
→ sakyle: 都到倉庫翻東西了還跟客人說沒有找到這條路? 06/22 23:32
→ alan3100: 刻意把404設計成單獨給bad url用不是給有心人猜嘛 06/23 00:53
→ alan3100: 不然你去參考大廠怎樣做 我所知aws azure是回傳404 06/23 01:15
→ alan3100: url,參數...等等client錯誤大多是回400+reason 06/23 01:28
推 jinmin88: 資源不存在回404..單純沒body回204 06/23 01:33
推 stupid0319: 200 06/23 07:10
推 sharek: 既然沒有標準,沒資料回404也還好吧,文件or講好就好了 06/23 07:20
→ sharek: 404也不一定只能代表路徑不存在 06/23 07:36
→ DrTech: 200。或改用204。看來原文基礎沒學好。這些 status code是 06/23 08:22
→ DrTech: 用來判斷什麼都不太清楚。API存取正常就是要回2xx。 06/23 08:22
→ DrTech: RFC2616,明確規範,2xx是成功。4xx,是client error. 。 06/23 08:24
→ DrTech: 沒錯誤不要用4xx。 06/23 08:24
→ DrTech: 不懂的去查國際標準怎麼寫。 06/23 08:26
→ ssccg: 其實這篇原PO並沒有限定說在問RESTful,所以應該沒有哪個比 06/23 15:17
→ ssccg: 較好,不要混在一起就好 06/23 15:17
推 za755188: 這個吵不完啦XDD 不過我認識的前端都希望回200 06/23 17:37
推 penril0326: 200啊 404感覺是path錯了 06/23 18:22
推 bill0205: 如果本來是預期為清單類型 結果沒有資料 那就是200 06/23 20:41
→ bill0205: 但如果最後是指定資源值 404或是200就比較有爭議 06/23 20:42
→ bill0205: 但假如是類似/api/users/<user> 找不到 丟404好像很合理 06/23 20:42
推 jinmin88: 建議website跟api server分開,不然就真的404會很混亂. 06/24 01:07
推 preisner: 絕對不是用404, 那是http的error code拿來混用絕對不好 06/24 08:13
推 strlen: 空資料是空資料 伺服有問題是伺服有問題 這兩回事 06/24 11:43
→ strlen: 只要API能正常運作 都不應該吐200以外的東西 06/24 11:43
→ strlen: 空資料只是目前沒有東西 不代表之後也不會有東西 06/24 11:43
→ strlen: API資料狀態 那是連線狀態確認沒問題之後的事 06/24 11:44
→ strlen: 資料狀態 與 連線狀態 是完全不同的東西 06/24 11:45
推 hegemon: 樓上你可以用204更精確 06/24 11:48
推 Romulus: 可是404和連線狀態沒有半毛錢關係 06/24 16:29
推 askacis: 200,body看資料格式,xml的話就帶空元素之類的方式 06/25 12:08
推 nayeonmywife: 基本上200是代表回傳成功,至於有沒有資料就裝在dat 06/25 13:54
→ nayeonmywife: a吧,目前是這樣規範 06/25 13:54
推 npkalala: 404 Not found不能只看字面意思吧,要了解一下內涵 06/25 17:39
→ strlen: 樓上是不是以為連線狀態指得是你的網路狀態? 06/25 22:16
→ strlen: 我說的是連到該伺服器API的狀態好嗎? 06/25 22:16
→ strlen: 「狀態」也不一定只是連不上 還可能有其他種狀況 06/25 22:20
推 bill0205: 404不代表不用在body資料吧 預設格式還是要有 06/26 11:16
→ honestyer: 用404太怪異了吧..200 回status 06/28 14:55
推 noiretblanc: 200 06/29 20:21
推 jl40: 424 06/30 22:20
推 shimachokong: 200,沒有那個 api才是 404 07/02 18:34
→ hannah5269: 404新理解.. 07/08 03:13