代码简洁之-RESTful规范(1)

背景

最近做毕设时,觉得自己的代码写的非常乱,所以想要让代码简洁 RESTful规范是很重要的。
本文是截取了部分阮一峰老师的文章:http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html
动词+宾语
RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articles是宾语
axios有五种请求方法:

GET:读
PUSH: 新建
PUT:更新
DELETE: 删除
PATCH:更新 通常是部分更新

宾语必须是名词而不是动词
比如用

axios.get('/articles'),

而不用

axios.get('/getArticles')

因为get本身就带有查这个动作的意思

复数URL
既然URL是名词,使用复数还是单数?
这没有统一的规定,但是常见的操作是读取一个集合,比如axios.get(‘articles’)(读取所有文章),这里明显应该是复数。

为了统一起见,建议都使用复数 URL,比如GET /articles/2要好于GET /article/2.
避免多级URL
常见的情况是,资源需要多级分类,因此很容易写出多级的 URL,比如获取某个作者的某一类文章。

GET /authors/12/categories/2

这种 URL 不利于扩展,语义也不明确,往往要想一会,才能明白含义。

更好的做法是,除了第一级,其他级别都用查询字符串表达。

GET /authors/12?categories=2

下面是另一个例子,查询已发布的文章。你可能会设计成下面的 URL。

GET /articles/published

查询字符串的写法明显更好。

GET /articles?published=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值