Restful API一种互联网软件架构的设计规范

77 阅读2分钟

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 具体规范

  1. 协议
  • HTTPS 协议
  1. 域名
  1. 版本
  1. 路径
  1. 方法
  • GET获取资源
  • POST添加资源
  • PUT修改资源
  • PATCH更新资源
  • DELETE删除资源
  1. 数据过滤
  • ?limit=10指定返回数据的数量
    • GET https://www.guolei.com/v1/blogs?limit=10
  • ?offset=10指定偏移量,比如从第十条数据开始获取数据
    • GET https://www.guolei.com/v1/blogs?offset=10
  • ?page=2&per_page=10指定第二页,获取每页 10 条数据当作一页
    • GET https://www.guolei.com/v1/blogs?page=2&per_page=10
  • ?sortby=time&order=arc指定返回结果按照那个属性排序以及排序的方式
    • GET https://www.guolei.com/v1/blogs?sortby=time&order=arc
  1. 状态码
  2. 返回结果
  • 就是向服务器发送请求之后的返回结果,每一种请求方式的返回结果都有它的涵义
  1. 返回格式
  • 尽量使用JSON