URI设计原则,API设计原则

我们设计的REST API真的nice么?html

优雅型:http://api.exapmle.com/louvre/da-vinci/mona-lisa前端

卢浮宫/达芬奇/蒙娜丽莎程序员

中庸型:http://58.com/bj/ershou/310976canvas

北京/二手频道/帖子ID后端

谢特型:http://api.example.com/68dd0-a9d3-11e0-9f1c api

不知道什么鬼前端工程师

 

本文将分享URI设计的一些原则。post

 

1. URI的末尾不要添加“/”spa

多一个斜杠,语义彻底不一样,到底是目录,仍是资源,仍是不肯定而多作一次301跳转?设计

负面case:http://api.canvas.com/shapes/ 

正面case:http://api.canvas.com/shapes

 

2. 使用“-”提升URI的可读性

目的是使得URI便于理解,用“-”来链接单词

正面case:http://api.example.com/blogs/my-first-post

 

3. 禁止在URL中使用“_”

目的是提升可读性,“_”可能被文本查看器中的下划线特效遮蔽

负面case:http://api.example.com/blogs/my_first_post

别争,看到效果就明白了

 

4. 禁止使用大写字母

RFC 3986中规定URI区分大小写,但别用大写字母来为难程序员了,既不美观,又麻烦

负面case:http://api.example.com/My-Folder/My-Doc 

正面case:http://api.example.com/my-folder/my-doc 

 

5. 不要在URI中包含扩展名

应鼓励REST API客户端使用HTTP提供的格式选择机制Accept request header

正面case:http://58.com/bj/ershou/310976

一个case:http://58.com/bj/ershou/310976x.shtml

 

6. 建议URI中的名称使用复数

额,楼主不知道为什么会有这么奇怪的建议

正面case:http://api.college.com/students/3248234/courses

负面case:http://api.college.com/student/3248234/course

 

最后,给后端研发工程师一个建议:清晰优雅的 RESTful API是为调用者编写的,别无脑随意定义一些shit同样的URI给移动/前端工程师使用,当心生命有危险。

 

原文:http://blog.restcase.com/7-rules-for-rest-api-uri-design

做者:Guy Levin 

 

你见过一些什么奇葩的URI?

相关文章
相关标签/搜索