Re: [問題] RESTful API 非 resource 的設計問題

作者: LeonH (Leon)   2023-09-03 14:00:11
※ 引述《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 設計
作者: chan15 (ChaN)   2023-09-04 10:34:00
謝謝,下訂去

Links booklink

Contact Us: admin [ a t ] ucptt.com