JavaScript 基础
Document
运算符
深入数据和类型
函数进阶
原型、继承
类
浏览器存储
Web API
事件
错误处理
异步编程
网络请求
模块
练习
实例
工具与规范
软件架构模式
设计模式
RESTful API 中的 REST 是 representation state transfer 的缩写,直译过来是表现层状态转换。
RESTful 的设计理念就是将我们的数据都抽象成一个资源(resource),然后通过 HTTP 请求对这些资源进行增查改删(CRUD, create, read, update, and delete)的操作。
资源URL
我们通常使用单词的单数来表示一个资源。
单个用户:http://example.com/user
单个帖子:http://example.com/post
用单词的复数来表示资源的列表。
用户列表:http://example.com/users
帖子列表:http://example.com/posts
用复数 + ID 的表示单个资源。
ID 为 3 的用户:http://example.com/users/3
ID 为 4 的帖子:http://example.com/posts/4
请求方法
使用不同的 HTTP 请求方法表示不同的操作:
方法 | 描述 |
---|---|
GET | 一般是默认的方法,表示获取一个资源。(查,read) |
POST | 生成一个资源。(增,create) |
PUT | 修改一个资源。(改,update) |
DELETE | 删除一个资源。(删,delete) |
比如发布一个帖子。
返回状态码
对于操作的结果,用状态码进行初步的表示,比如 200 就表示成功。
$$tip
一般来说,状态码的数量不足以详尽地表示所有所有的错误,所以一般只使用一个状态码表示错误,然后再在正文当中使用公司自己定义的错误码。
比如三眼鸭的接口错误就统一使用 400 状态码,再在响应正文中标明错误。
密码错误:
{
code: 1100,
msg: "用户名或密码错误。"
}
$$
RESTful API 不是 HTTP
RESTful API 是一个数据交换规范,而 HTTP 是一种通信协议, RESTful API 是基于 HTTP 实现的。