看板 Web_Design 關於我們 聯絡資訊
※ 引述《chan15 (ChaN)》之銘言: 場景一我看不懂,跳過。 : 場景二:複合式動作的命名 : 假設要訂閱某個文章,他是拿 header 裡的 token 找出 user,然後帶入文章 id 後寫入 : pivot table 那該怎麼命名。 : 2.1 : ArticleController.php : function subscribe() : POST www.example.com/articles/{article_id}/subscription : 還是應該更明確 : 2.2 : ArticleController.php : function userSubscribe() : POST www.example.com/articles/{article_id}/user-subscription 場景二我會用 POST /articles/{article_id}/subscribe ^^^^^^^^^ 動詞,因為訂閱是 action : 場景三:特殊註況 : 以使用者密碼為例,密碼可能有重設密碼、忘記密碼 : 3.1 : UserPasswordController.php : function reset() : users/password/reset : function forgot() : users/password/forgot : 3.2 : UserController.php : function resetPassword() : users/password-reset : function forgotPassword() : users/password-forgot : 想請教各位會怎麼選擇。 場景三我會用 singleton path,像這樣: POST /me/reset-password POST /me/forget-password 同樣,reset、forget 都是動詞 至於那 /users/ 留給帳號管理員用,例如: POST /users/{user_id}/update-password 最後私心推一下這本《Web API 設計原則》 https://www.gotop.com.tw/books/BookDetails.aspx?Types=v&bn=ACL065500 裡面第七章有專門談到 REST API 設計 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.22.93 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1693720813.A.17B.html
chan15: 謝謝,下訂去 09/04 10:34