目前互联网上充斥着大量的关于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
使用驼峰还是蛇形呢,很纠结,都用过,有人说随便,但是就是纠结。
restful只是一套参考的规范而已,我的理解是 软件开发领域没有包打天下的规范,只有各不相同的 best practice 最佳实践,至于 API 只要便于开发人员区分就行了,楼主不必强迫自己为了规范而规范,只要实现功能谁会在乎你API长什么样。
可以看看 阮一峰的博文:
http://www.ruanyifeng.com/blo...
关于使用驼峰还是蛇形 应该全部小写
vip
可以作为一个资源GET vips/user/{id}
ORGET users/vip/{id}
获取单个资源GET vips/user
ORGET users/vip
获取多个资源这些资源你或许可以参考一下:restful-api-design-references - RESTful API 设计参考文献列表,可帮助你更加彻底的了解REST风格的接口设计。
RESTful api的实际应用中,Github API v3 的设计可以说是楷模,也可以看看。