REST风格URL 不符合CURD的操作怎么起名?

发布于 2022-09-05 02:19:46 字数 391 浏览 13 评论 0

目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?当开始写一个app的时候,特别是后端模型部分已经写完的时候,不得不殚精竭虑的设计和实现自己app的public API部分。因为一旦发布,对外发布的API将会很难改变。

问题1:
发送邮件/mail/1/send 使用POST /mail/send 使用POST
该怎么样命名URL呢

问题2
获取某个特定用户列表 /getVipUser /user/vip /getUserList?type=vip
该怎么样命名URL呢

问题3
使用驼峰还是蛇形呢,很纠结,都用过,有人说随便,但是就是纠结。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

冬天的雪花 2022-09-12 02:19:46

问题一:
换种思路。发送邮件能否把邮件当作一个资源,send操作相当于增加一个邮件。
mails 作为一个资源
POST /mails 新增一份邮件

问题二:
一种方式vip作为一个资源参考3楼。
另一种方式vip用户可以用作users的条件
GET /users?id_vip=1 OR /users?type=vip

问题三:
REST风格都是以资源为单位,都是名词。在一定程度上是不存在动词的。所以可以不用考虑命名格式。

驼峰还是蛇形,不管是url上的还是返回参数上的。约定规范团队遵守就好。

附:
Github API 蛇形
豆瓣 API 蛇形
微信相关 蛇形
微博 API 蛇形

当梦初醒 2022-09-12 02:19:46

restful只是一套参考的规范而已,我的理解是 软件开发领域没有包打天下的规范,只有各不相同的 best practice 最佳实践,至于 API 只要便于开发人员区分就行了,楼主不必强迫自己为了规范而规范,只要实现功能谁会在乎你API长什么样。

多彩岁月 2022-09-12 02:19:46

vip可以作为一个资源
GET vips/user/{id} OR GET users/vip/{id} 获取单个资源
GET vips/user OR GET users/vip 获取多个资源

凯凯我们等你回来 2022-09-12 02:19:46

可以看看 阮一峰的博文:
http://www.ruanyifeng.com/blo...

关于使用驼峰还是蛇形 应该全部小写

两人的回忆 2022-09-12 02:19:46

这些资源你或许可以参考一下:restful-api-design-references - RESTful API 设计参考文献列表,可帮助你更加彻底的了解REST风格的接口设计。

RESTful api的实际应用中,Github API v3 的设计可以说是楷模,也可以看看。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文