文章目录
- 1. 什么是REST
- 2. 主要特点
- 3. RESTful优点
- 4. 具体规范
- 4.1 URL
- 4.2 HTTP方法
- 4.3 请求体
- 4.4 响应体
- 4.5 错误处理
1. 什么是REST
REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。
REST 的核心是可编辑的资源及其集合,用符合 Atom 文档标准的 Feed 和 Entry 表示。每个资源或者集合有一个惟一的 URI。系统以资源为中心,构建并提供一系列的 Web 服务。
在 REST 中,开发人员显式地使用 HTTP 方法,对系统资源进行创建、读取、更新和删除的操作:
- 使用 POST 方法在服务器上创建资源
- 使用 GET 方法从服务器检索某个资源或者资源集合
- 使用 PUT 方法对服务器的现有资源进行更新
- 使用 DELETE 方法删除服务器的某个资源
如果一个架构符合REST原则,就可以称它为RESTful架构。
2. 主要特点
- 资源: RESTful API将数据资源抽象为资源,并使用URI来标识资源。
- 统一接口: RESTful API使用统一的接口来操作资源,包括GET、POST、PUT和DELETE方法。
- 无状态: RESTful API的每一次请求都是独立的,不需要服务器保存任何状态信息。
- 缓存: RESTful API可以使用缓存来提高性能。
3. RESTful优点
- 易于使用: RESTful API易于理解和使用,因为它遵循一组简单的设计原则。
- 可扩展性: RESTful API可以很容易地扩展,以支持新的功能和需求。
- 可靠性: RESTful API具有很强的可靠性,因为它们是无状态的,并且可以使用缓存来提高性能。
4. 具体规范
- URL: URL应该使用资源名称和操作来命名,例如/users用于获取用户列表,/users/{id}用于获取特定用户。
- HTTP方法: GET方法用于获取资源,POST方法用于创建资源,PUT方法用于更新资源,DELETE方法用于删除资源。
- 请求体: 请求体用于发送数据到服务器,例如创建用户时需要发送用户数据。
- 响应体: 响应体用于返回数据到客户端,例如获取用户列表时返回用户数据。
- 错误处理: RESTful API应该使用HTTP状态码来表示错误,例如404表示资源未找到,401表示未授权。
4.1 URL
使用资源名称和操作来命名URL,例如:
/users:获取用户列表
/users/{id}:获取特定用户
/users/{id}/posts:获取特定用户发布的帖子
4.2 HTTP方法
使用正确的HTTP方法来执行相应的操作,例如:
GET:获取资源
POST:创建资源
PUT:更新资源
DELETE:删除资源
4.3 请求体
使用JSON或XML等格式来发送数据到服务器,例如:
创建用户时,需要发送用户数据,例如姓名、邮箱、密码等。
4.4 响应体
使用JSON或XML等格式来返回数据到客户端,例如:
获取用户列表时,返回用户数据,例如姓名、邮箱、ID等。
4.5 错误处理
使用HTTP状态码来表示错误,例如:
404:资源未找到
401:未授权
400:请求格式错误