作者LeonH (Leon)
看板Web_Design
标题Re: [问题] RESTful API 非 resource 的设计问题
时间Sun Sep 3 14:00:11 2023
※ 引述《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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1693720813.A.17B.html
1F:推 chan15: 谢谢,下订去 09/04 10:34