PATCH /api/users/:id/email => 用戶更新郵箱
PATCH /api/users/:id/nickname => 用戶更新昵稱
如上,我設計了基于 Rest API 的 API 路徑。
但是,我有一個問題,
我正在使用 jwt
jwt_token
我認為有用戶的 id 資訊,更好的方法是在 jwt_token 中使用用戶的 id 而不是將用戶的 id 添加到引數中。
但是,我還有一個問題
PATCH /api/email => 用戶更新郵箱
PATCH /api/nickname => 用戶更新昵稱
如果我在 jwt_token 中使用用戶 ID,API 路徑將像上面的示例一樣改變。
我想,這很奇怪。
因為,根據 Rest API,使用集合。(例如用戶、書籍等。)
什么是正確的做法?
謝謝你的閱讀
uj5u.com熱心網友回復:
“REST”是構建 HTTP 協議的架構風格。每個網頁都旨在成為“RESTful”,而 REST 本身并沒有說明 API 應該是什么樣子。該查詢顯然是關于現代 API 的。現代 API 必須遵守 RFC,同時應該遵守通用約定。通用約定使消費者可以理解 REST API。此外,我正在回答有關現代 API 的問題。
如果要對資源進行部分更新,則應使用 PATCH 方法。您可以使用兩種方式 (RFC):RFC 6902 aka JSON Patch 和 RFC 7396 aka Merge Match。URL 應以更新的資??源 (USER) 為目標:
PATCH /users/:id
但是:您寫道,您只想更新經過身份驗證的用戶。在這種情況下,通常使用“特殊” URL:
PATCH /me/profile
您應該根據首選 RFC 發送 JSON 正文。如果 RFC 7396:
{
"email": "[email protected]",
"nickname": "newNickname"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466375.html
上一篇:req.logout()不是函式
