(這有點抽象的哲學問題。但我相信它有客觀的具體答案。)API狀態頁響應代碼
我正在寫一個API,我的API有一個「狀態」頁面(如, https://status.github.com/)。
如果我有適當的邏輯來確定狀態,說明一切都很好,我的計劃是返回200 OK
,並返回一個JSON響應,其中包含關於狀態頁測試的每個服務的更多信息。
但是,如果我的邏輯說API失效會怎麼樣?說數據庫沒有反應或什麼的。
我想我想返回500 INTERNAL SERVER ERROR
(或503 SERVICE NOT AVAILABLE
)以及帶有更多細節的JSON響應。
但是,是否破壞了HTTP狀態碼規範?這會混淆最終用戶嗎?我的狀態頁面本身在這種情況下工作得很好。所以也許它應該返回200?但是這意味着任何使用它的人都必須深入到正文中尋找一個特定的參數來確定API的狀態,而不僅僅是檢查HTTP狀態碼。 (另外如果我的狀態頁面本身被打破了,我很好,最終用戶把這意味着API是關閉的,因爲這是一個非常糟糕的信號......)
想法?關於狀態頁應該如何工作的官方協議?
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
感謝這個,+1,如果沒有其他人有相反的觀點風鈴,我會記住這接受。 – lostphilosopher