[討論] API沒資料,回200還是404比較好
我看有些是狀態碼200,空data
但有些又是做404,然後回個message 數據不存在之類的
這哪一種做法比較好?
--
加個Status判斷是否為空會好點嗎?
200啊 是說這問題你可以問同事吧
200
Body empty 204
Error code 404
Success and return body 200
前公司用這樣表示
200,回404我會覺得沒打到,當然這個可以談的
回404,怎麼跟api不存在區別?
看沒資料的物理意義 如果是他不能沒有但是沒有就400/404
如果沒有資料是正常狀況就回200空data 不推薦204
204比較像是那種永遠不會有回傳的API回的
另外404純留給打錯path/API不存在比較好懂
RESTful的鍋
200 有找到資源,但該資源返回空資料
http status不是這樣用的
怎麼會用404....
看錯誤原因,通常是200給reason或403
404 只會覺得 url 打錯吧
你不會多一個 numFound 逆
看收到空值後,你的後續動作是什麼,狀態碼提示你之後
要導向哪個動作。
當然是200..404是針對path不存在而不是資料不存在
除非你說是像這樣/{id} 沒資料給404合理(?!
200, 400-499 用在用戶端錯誤
404會覺得url打錯+1
預料之內 200 預料之外 404
200 功能正常,查無此資料
404 有點像在反問 caller 你在做什麼
200吧
推10樓
如果是以 RESTful 角度去設計的話,舉 /users/<USERNAME>
為例,當 <USERNAME> 的資源不存在時,返回狀態碼 404
比較其他狀態碼:401 (沒有授權) 403 (有授權但權限不夠)
... 參考 GitHub REST API 的實現也是這樣做的
可是具體還是要看實際場景需不需要這些
今天如果是請求 HTML 頁面資源的話,早年沒東西塞 200 會
在 SEO 上被降 ranking
視你組織 code style 而定
200 status fail
REST API的精神是要回歸http status code,回404
但是相關配套的程式如果處理不好容易出錯,不如回200
應該只有403是不行的ㄅ
json 的空 是什麼意思
空的當然是200阿 我前公司就用404 導致一堆問題 超白
癡
api不存在應該也不是404 400比較對 404像是你用名字
或id去查結果資料庫沒這東西
restful來說是404沒錯啊,只是現在人看到404就覺得網址錯
原始http規格就整個URI代表資源,把404限縮到path未實作的
反而是後來各種web framework,只是錯的人多了就變對的了
如果亂打還回200 會被弱掃工具判斷成有弱點
200 msg放查無資料
假設是一個論壇 你要找一個看板的文章 給錯看板id那
叫做404 有這個看板但沒有文章 那叫做200 就這樣
搜尋無結果200,查詢不存在的使用者404
我都傳204^_^
請求成功但response空body,回傳204
或是手工點,傳200 + 字串"沒有內容"
推文看下來似乎沒有標準?內部討論好就好了是嗎
是 其實沒有很硬的標準 尤其內部的話真的協調好就好
RESTful的話 查詢不存在的ID之類的話就404阿
資源不存在跟資源存在只是目前沒有的差別
只愛用兩種狀態 錯誤給原因 前端管理錯訊息是冏的 有
的還前後端都維護一套更冏
你的案例404很怪,404直覺就是錯誤的URL
發生系統錯誤不也404,你要怎麼分辨
不如rtnCode 處理
200比較適合,因為路徑無誤,而且空資料也是一種資料
404吧 回啥小200
發生系統錯誤哪會是 404?拜託不要誤導人
自己覺得如果是用id找不到回404
如果是搜尋資料這種會多筆的用200然後是空資料
回404的可以 fired 了
有成功就2 開頭 我以為是這樣
回404來亂的嗎?
我的習慣是 user/{id} 是 404 list 的話 200 空陣列
不過這個還是看團隊約定啦
畢竟 HTTP Status Code 到底代表協議本身的狀態
還是 API 提供服務的狀態就有的吵了
唸過廠商HTTP Status Code 404 ,怎麼知道是call 錯,
還真的沒資料。
REST就只是篇博士論文,學術界嘛,根本沒實戰驗證過
發明者拿到學位就走人了,哪管你照著做有多少相容問題
所以有很多問題啊,拆分粒度不夠或太小都不適合,要嘛拿到
太多不必要的資料,要嘛需要層層往下才拿到想要的資料,一
個是浪費流量資源,一個是頻繁訪問。所以現在有 GraphQL 嘛
200...
Get query 連id 都找不到回404沒問題,如果有id 就回個200
null data
水,這個問題不錯喔,是技術又不會太冷門,想多看點討論
當然是200,回傳空陣列即可。404是找不到該route的時候才
回傳
不要用404比較好吧
有這個路徑為什麼是404?
..........200啦幹
都到倉庫翻東西了還跟客人說沒有找到這條路?
刻意把404設計成單獨給bad url用不是給有心人猜嘛
不然你去參考大廠怎樣做 我所知aws azure是回傳404
url,參數...等等client錯誤大多是回400+reason
資源不存在回404..單純沒body回204
200
既然沒有標準,沒資料回404也還好吧,文件or講好就好了
404也不一定只能代表路徑不存在
200。或改用204。看來原文基礎沒學好。這些 status code是
用來判斷什麼都不太清楚。API存取正常就是要回2xx。
RFC2616,明確規範,2xx是成功。4xx,是client error. 。
沒錯誤不要用4xx。
不懂的去查國際標準怎麼寫。
其實這篇原PO並沒有限定說在問RESTful,所以應該沒有哪個比
較好,不要混在一起就好
這個吵不完啦XDD 不過我認識的前端都希望回200
200啊 404感覺是path錯了
如果本來是預期為清單類型 結果沒有資料 那就是200
但如果最後是指定資源值 404或是200就比較有爭議
但假如是類似/api/users/<user> 找不到 丟404好像很合理
建議website跟api server分開,不然就真的404會很混亂.
絕對不是用404, 那是http的error code拿來混用絕對不好
空資料是空資料 伺服有問題是伺服有問題 這兩回事
只要API能正常運作 都不應該吐200以外的東西
空資料只是目前沒有東西 不代表之後也不會有東西
API資料狀態 那是連線狀態確認沒問題之後的事
資料狀態 與 連線狀態 是完全不同的東西
樓上你可以用204更精確
可是404和連線狀態沒有半毛錢關係
200,body看資料格式,xml的話就帶空元素之類的方式
基本上200是代表回傳成功,至於有沒有資料就裝在dat
a吧,目前是這樣規範
404 Not found不能只看字面意思吧,要了解一下內涵
樓上是不是以為連線狀態指得是你的網路狀態?
我說的是連到該伺服器API的狀態好嗎?
「狀態」也不一定只是連不上 還可能有其他種狀況
404不代表不用在body資料吧 預設格式還是要有
用404太怪異了吧..200 回status
200
424
200,沒有那個 api才是 404
404新理解..
5
4xx狀態表示你的請求本身有誤 例如404表示該資源不存在,(null)而不是空值(empty) 既然你的API本身存在,請求格式也正確 那麼如果結果為空值,該回傳2xx狀態 通常4xx都是來自於錯誤的客戶端請求2
個人拙見 鞭請小力 結論來說 原po的問題 我覺得應該是200 我的觀點偏向404屬於 該api路由、頁面不存在 github來說14
其實這都只是參考設計 怎樣處理都行 前端能接的起來就好 我個人則是傾向200或204 原因沒有什麼84
這篇就不以引述的方式回覆了,因為算是對 後續其他人不論在推文中或是回文中的內容 回覆,另外也是針對我自己在前一篇文章中 沒有提到的部分進行說明。 (1) 敘述問題與回答問題13
雖然我不是微軟派的,但是不得不說他們文件寫得真是認真 好入手,廣度,深度也都有一定程度的水準 --- (感謝ssccg提醒,我更正一下內容跟context33
嗯,我想兩位的建議可以寄信向 GitHub 和 Atlassian 這兩間公司說明一下,或許可以 幫他們團隊縮減人力。 當查詢資源不存在時返回 HTTP Code 404:
爆
[請益] 3.4月輸光我爸給的200萬怎辦去年看股市人人爆賺 跟老爸拿了200萬 加上我媽不玩的帳號400萬 三個帳號共600萬進去玩98
[問卦] 堅持不打疫苗派的主要理由是什麼?目前版上應該還有堅持不打疫苗的吧 我是持中立的想法 就想打就去打 不想打也沒差 就是聽到不打的說法有點多85
[標的] 長榮還有機會破200嗎?去年有買到二位數的長榮 漲到140左右 心臟不夠大顆就賣掉了 結果看他一路又往上漲到200 手賤然後又被股板反指標影響 買了一張200多的79
[問卦] 為什麼有些藝人要性侵女生然後被關?好奇問一下 為什麼有些藝人要性侵女生 然後被關? 他們為什麼不花錢解決就好? 我知道女生真的很療癒60
[請益] 喊空做多的心態是?如題 最近大盤盤勢不好 但是有幾支強勢股也是逆勢成長 像元太最近一波直接漲到200 但我發現元太的推文有人卻一直看空 什麼法說會完就出貨 自己也發了一篇元太文說Q1營收很難看之類的52
[閒聊] R18同人本對原作的影響是好還是壞?如題 先不說一般向的同人本,這種應該正常都是對原作正面宣傳 其實現在也滿多人,是先看到H本,才知道原作的 甚至一堆人沒接觸原作,只看本的 不管原因為何,某種程度上也是一種宣傳17
[討論] 強迫自己阿法有比較好嗎如題 根據近年來的風氣 好像男人的策略 只有變得阿法是唯一解 但是有些男生的個性就是隨和11
[問卦] 其實200元鈔票比100元好用吧?大家安安 滿常看到有人在嫌棄200元鈔票的 甚至很多店家還會不收200元鈔票 可能比較少看到,怕是假鈔之類的 但是現在物價這麼高3
[問卦] 旅館可以找到404號房嗎?旅館或醫院之類的地方怕觸霉頭 很少會寫出4樓 而4樓的4號房更是不吉利 有鄉民曾經找到過404號房嗎? --