我給出了一個關於討論HTTP method
和status code
的常見用戶登錄/註銷示例。我希望它可以幫助人們輕鬆理解。如何定義登錄和註銷的HTTP方法和狀態碼?
傳統沒有寧靜的API設計:
當用戶登錄/退出一個網站,它肯定由
POST
方法的HTTP請求來訪問後端服務。
這是不容置疑的。
但是如果我遵循restful api設計模式,還是它的設計?
我的想法是:
- 登錄
Login
將生成令牌密鑰當用戶登錄。我認爲這是數據庫的創建動作,因爲生成一個令牌密鑰,所以它應該返回201 Created
狀態代碼?
- 註銷
相對,
Logout
將刪除令牌密鑰,當用戶發送他的令牌,並做註銷。我認爲這是對db的刪除操作,因爲刪除了令牌密鑰,所以它應該返回204 No content
狀態碼?
儘管我認爲它可能適合HTTP方法的含義,如果我提供或共享此API設計,是否會讓其他開發人員感到困惑?
我不知道這個想法是或不是很好。我想聽你的意見。
這些行**生成一個令牌實際上是您登錄的一個副作用**突出 - 提醒關注API設計分離。 – Abhijeet