RESTful API

参考:http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

restful api是一种基于http协议的api的设计规范,依照rest风格往往可以设计出语义清晰,扩展性良好的api。

客户端发送的数据操作请求都由“动词+宾语”的格式组成,动词即http请求方法,宾语即url。动词表明要做的操作,宾语表名操作的对象,宾语应该全部由名词组成。服务端处理的结果应该用http状态码表示,返回结果应该用格式化的数据表示,如json数据。

动词包括:get、post、put、patch、delete,分别对应请求、创建、更新、部分更新、删除。

常用状态吗:200获取数据成功,201创建成功,202异步任务已创建,204资源已删除。400客户端请求错误,401未认证,403用户已认证但无权限,404资源不存在。500服务器出错,501服务器暂时无法服务。

宾语应该由名词组成,且应该用复数形式。应该避免多级url,如获取某个作者的某一类文章应该用"/articles?"authors=12&categories=2”,而不应该使用“/authors/12/categories/2”,避免多级url的方式是将url与数据库的表对应,每个接口就是对一张表极其关联表的操作。

 

接口的幂等性:

多次调用只会产生一次副作用即为幂等,反之即为非幂等。

get方法,多次调用都是请求资源,不会产生多个副作用,是幂等的。

post方法,用于创建资源,每次都会创建一个新的资源,会有额外的副作用,所以是非幂等的。

put方法,用于全部更新资源,不论调用多少次都只会产生一次副作用,是幂等的。

patch方法,用于部分更新资源,如修改访问次数,每次都有不同的副作用,所以是非幂等的。

delete方法,删除指定资源,是幂等的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值