Restful API
Restful API是一种互联网软件架构的设计规范、设计指南、设计风格、设计原则
API: Application Programming Interface(应用程序编程接口)
Rest
Rest 一种软件架构风格(REST 即表述性状态传递(英文:Representational State Transfer,简称 REST)是 Roy Fielding 博士在 2000 年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。)
也就是说所有接口都遵循
Restful API规范
Resource资源URI:统一资源标识符,它是一个字符串,用来标识互联网资源的名称URL:统一资源定位符,它是一种具体的URI(更加具体)
Representational表现层- 资源的具体的表现层面是多样的,一个文本可以用
text\XML\JSON\HTML等方式表示, - 请求可以在响应中,看到资源的表现形式,如下图中的
content-type,表示一个文本通过Javascript呈现其实就是js
- 资源的具体的表现层面是多样的,一个文本可以用
State Transfer状态转化- 互联网之间的通信依靠的是
http协议但是这个协议是一个无状态协议,那么我们如果想要改变这个状态,就通过http提供的请求方式,例如(我们get请求到一堆数据,随后对数据进行更改,再通过put提交上去)
- 互联网之间的通信依靠的是
Restful API 具体规范
- 协议
- HTTPS 协议
- 域名
- 所有对外提供的 API 都要尽量放到同一个域名下面
- 版本
- 路径
- 方法
GET获取资源POST添加资源PUT修改资源PATCH更新资源DELETE删除资源
- 数据过滤
?limit=10指定返回数据的数量- GET
https://www.guolei.com/v1/blogs?limit=10
- GET
?offset=10指定偏移量,比如从第十条数据开始获取数据- GET
https://www.guolei.com/v1/blogs?offset=10
- GET
?page=2&per_page=10指定第二页,获取每页 10 条数据当作一页- GET
https://www.guolei.com/v1/blogs?page=2&per_page=10
- GET
?sortby=time&order=arc指定返回结果按照那个属性排序以及排序的方式- GET
https://www.guolei.com/v1/blogs?sortby=time&order=arc
- GET
- 状态码
- 返回结果
- 就是向服务器发送请求之后的返回结果,每一种请求方式的返回结果都有它的涵义
- 返回格式
- 尽量使用
JSON