我正在努力將REST API從始終響應STATUS: 200 OK
中移出,該STATUS: 200 OK
包含返回的JSON中的error
密鑰,並嘗試使用正確的狀態代碼在出現問題時。客戶端的HTTP狀態代碼已過期
到目前爲止,我已經感動我的服務器的大部分地區移交給適當的狀態碼200, 201, 400, 401, 403, 404, 500, 501, and 503
目前我正在試圖找出什麼拒絕訪問API調用客戶端的最佳方式已過期。目前,我正在發送使用授權令牌編碼的客戶端版本。
我被困在使用狀態碼426, and 412
之間。 426狀態碼的標題看起來像我想要的用例,但描述讓我有點擔心。 412
看起來像是適當的,如果我將我的版本從授權令牌移開並將其放入它自己的頭文件中。
這是我的第一個REST API,它工作的很好,我只是試圖將其轉換爲以下最佳實踐。所以我有點驚慌。
TLDR;
- 我應該將我的版本進入頁眉和使用狀態412
- 我應該使用狀態碼426
- 有我在這裏失蹤,我應該使用要求的客戶端更新代碼。
注意:我的客戶端不是網絡瀏覽器。這是一個移動設備。
你能詳細解釋一下你的意思是「過時嗎?」這聽起來像是你想用瀏覽器通知客戶太舊以至於不支持與HTTP無關的特定功能。 – DaSourcerer
@DaSourcerer在我的問題的底部,我說我的客戶是移動設備,當客戶端「過期」時,我的意思是應用程序版本。因此,如果一箇舊的應用程序版本從'/ v2/foo/ba'請求數據,並且它被卡在'/ v1'上,它應該告訴客戶端它已經過時,並且必須更新以訪問'/ v2'上的資源。 – Hobbyist
感謝您的滿足,這並不完全清楚:) – DaSourcerer