Vapor 大型教程
构建 REST API
用 REST 风格把“增删改查”映射成统一的 URL 与 HTTP 方法,客户端对接起来更省心、也更规范。
什么是 REST
- REST 是 Representational State Transfer 的缩写,是一种面向分布式超媒体系统的架构风格。
- 和其它架构风格一样,它有自己的规则与约束。如果一个 API 服务满足 REST 架构规范,就可以被称为 RESTful API。
- 想深入了解,可参考 RESTful API 教程。
遵循 REST 风格的 API 可以和数据库的 CRUD(创建、查询、更新、删除)对应起来,用一种统一的模式操作资源,从而简化客户端的构建过程。
CRUD 与 HTTP 方法的映射
以“首字母缩写(acronym)”相关 API 为例,遵循 REST 风格可以这样定义:
创建(Create)
POST /api/acronyms:创建一个首字母缩写(源站示例里用了/api/acronyms/1表示创建 ID 为 1 的缩写,实践中更常见的是由服务端生成 ID,直接POST /api/acronyms)。
查询(Read)
GET /api/acronyms/:获取全部首字母缩写GET /api/acronyms/1:获取 ID 为 1 的首字母缩写
更新(Update)
PUT /api/acronyms/1:用新内容更新 ID 为 1 的首字母缩写
删除(Delete)
DELETE /api/acronyms/1:删除 ID 为 1 的首字母缩写
通过接口定义就能清楚知道它的功能,接口也比较规范和整洁,一般不需要注释就能理解。下面用一张表汇总:
| 操作 | HTTP 方法 | URL 示例 | 含义 |
|---|---|---|---|
| 创建 | POST | /api/acronyms | 新建一个首字母缩写 |
| 查询全部 | GET | /api/acronyms/ | 获取全部首字母缩写 |
| 查询单个 | GET | /api/acronyms/1 | 获取 ID 为 1 的缩写 |
| 更新 | PUT | /api/acronyms/1 | 更新 ID 为 1 的缩写 |
| 删除 | DELETE | /api/acronyms/1 | 删除 ID 为 1 的缩写 |