我正在構建RESTful API,其中一部分將檢查用戶是否擁有有效訂閱。我想這樣做是這樣的:RESTful API檢查用戶是否擁有有效訂閱
GET https://api.example.org/subscriptions/me?username=johndoe&password=abc123&apikey=somekey HTTP/1.1
Host: api.example.org
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"username": "johndoe",
"id": 5152,
"valid": true,
"valid_until": "2013-01-01 00:00:00",
"account_level": "basic"
}
,系統將返回以下狀態代碼:
- 200用戶是否具有有效的預訂
- 400如果用戶名或密碼參數被省略
- 401如果用戶憑證無效
- 402如果用戶沒有有效的訂閱。
- 403如果用戶的API密鑰無效
- 404,如果它是一個無效的用戶
- 429,如果客戶端已經犯了太多的API請求
這是一個RESTful API設計?它能做得更好嗎?對於無效的API密鑰,HTTP 403是一個很好的迴應嗎?
當您返回錯誤時,您仍可以返回文檔正文中的json數據。通過這種方式,您可以向調用者提供更多詳細信息。 '{code:nnn,message:'無效的API密鑰'}' – slashingweapon