嗨,我是你平衡预览、蔬果贼多的圈圈。
蒂姆基夏边德曾说过:
“对两个成形的后端切图仔而言,压过他的常常并非 Vue、React 这些架构,而要两个十分不奇怪的是的 Web API 结构设计经营理念。”
Web API 看上去不无奇怪的是,别的开发人员不常见呢?
但是细细一想,哦豁,搞砸,好似都是搭挡娇鼠在前台写好的。完稿之后就间接甩给他们后端用了。
当他们痛定思痛地“码起砖”来,还唉 API 究竟有什么准则。
要是哪天他们不留神成了个 Leader,被 CTO 叫去参予结构设计 API 时,这不就曝露自己水准了嘛。
# Restful 侧发力
Restful 是两个不光成形的 API 结构设计经营理念,它是Representational State Transfer的缩写,译者回来是 “抽象性状况切换”。
不过我更愿称它为”天然资源签订合同自然法则“。
天然资源,是互联网中的统计数据,包括文档,相片,文档等。
签订合同自然法则,是被我们所普遍认可的读法。一旦你不依照这种读法,不耐烦,你就并非 Restful API。
这样讹传,是并非就单纯了许多,所以接下去是介绍它的签订合同自然法则,谨记脑海中就 ok 了!
在 Restful 中,他们常见 URL 代表者天然资源,因为这是其间台的公路桥,没有了 URL ,其间台就丧失了通讯的传播方式。
1、在 URL 的签订合同中,中文名称要采用术语,有主格的差别。
如果是集合,术语就要采用复数,而单个的则采用单数术语。
http://localhost:3000/users上面是两个代表者用户管理的集合,叫 users。
对应请求后的统计数据集如下:
[ { “name”: “zhangsan”, “id”: 1 }, { “name”: “王五”, “id”: 2 } ]2、中文名称中不能用动词定义,否则就并非 Restful API 规范。
http://localhost:3000/getusers x这是两个错误的定义方式。
3、要避免层级过深的 URL,建议采用查询参数的形式。
http://localhost:3000/users/id/1 x推荐采用:
http://localhost:3000/users?id=14、几个常见的形式。
http 中的动词:
GETPOST ——对服务器新建天然资源PUT ——对服务器预览天然资源DELETE ——从服务器删除天然资源对天然资源信息的过滤常采用以下形式:
GET /users?id=1 ——返回具体某个天然资源GET /users?_page=2 ——返回统计数据中的某一页GET /users?_page=2&_limit=20 ——对返回的统计数据进行分页GET /users?_order=votes&_order=asc——对统计数据进行点赞排序,升序(asc)降序(desc)GET /users?_start=1&_end=3 ——筛选出从第二个到第四个(索引从0开始,不包含后者)# 小结
总而言之,技术本身是很灵活的,作为结构设计者他们更需要灵活运用。有了一套签订合同的 API 结构设计,即便后端娇鼠的统计数据没有搞出来,他们只要依照这套签订合同,提前对项目进行搭建规划,不仅能得到统计数据,提前完成后端工作都是十分有可能的。
本文首发公号:圈圈的后端世界
欢迎来和圈圈一起交流噢!!