跳到主要内容

RESTful API

github 接口文档: https://docs.github.com/cn/free-pro-team@latest/rest

https://zhuanlan.zhihu.com/p/28674721

https://www.zhihu.com/topic/19579308/top-answers

RESTful 是一种前后端交互形式的约定。 REST 是用来规范应用如何在 HTTP 层与 API 提供方进行数据交互。

REST 描述了 HTTP 层里客户端和服务器端的数据交互规则。 客户端通过向服务器端发送 HTTP 请求,接收服务器端的响应,完成一次 HTTP 请求。 REST 在这个交互过程中,约定 HTTP 请求所采用的方法、以及请求的链接。 1、请求的 URL 用来定位资源。 2、请求的 METHOD 用来表示对资源的操作。

一、API 的 URL

1、URL 仅用来定位资源,这就需要 URL 不该有任何动词。 所以 get、create、search、update、reset 等不应该出现在 URL 中。 2、URL 中应该区分单复数,推荐只用复数。 3、按照资源的逻辑层级,对 URL 进行嵌套。

二、API 请求方法

GET、POST、PUT、PATCH、DELETE 增:POST:在服务器上创建一个新的资源。 删:DELETE:删除服务器上的一个资源。 改:PUT:以整体的方法更新服务器上的一个资源。 PATCH:只更新服务器上一个资源的一个属性。 查:GET:从服务器上获取一个具体的资源或一个资源列表。

三、分页、过滤

offset、limit、keyword、sort、order、过滤

四、状态码

200:请求成功 400:服务器端接收到请求,但是由于请求参数有问题,服务器端什么也不做 404:客户端引用了一个不存在的资源,,服务器端什么也不做 500:服务器端内部发生错误。

五、返回内容

// 公司规范
{
"status":"200 ok、400 参数无效、401 登录失败 、403 权限错误、500 未知错误",
"data":"响应数据,status = 200 的时候才有值",
"msg":"错误信息",
"error":"堆栈信息"
}