RESTfulAPI

RESTful API 是一种设计风格(而不是标准),用于构建基于 HTTP 的网络服务接口。它以简单、直观、资源导向著称,在现代 Web 服务(尤其是前后端分离架构)中非常常见。


🌐 一、REST 是什么?

REST 全称是:

Representational State Transfer 表述性状态转移

它由计算机科学家 Roy Fielding 在他 2000 年的博士论文中提出。

REST 的核心思想是:


🔍 二、什么是 RESTful API?

RESTful API 是遵循 REST 风格的 Web API 接口,其特点是:

特点 说明
资源导向 把系统中的每个实体抽象为资源,用 URI 标识
使用 HTTP 方法 利用 GET/POST/PUT/DELETE 显式表示操作
无状态 每个请求都独立,服务器不保存客户端状态
统一接口 所有资源都通过类似规则暴露
客户端-服务器分离 前后端分工明确,互不依赖 UI 或数据存储细节

🧱 三、URI + HTTP 方法的典型组合

操作 HTTP 方法 URI 示例 含义
查询列表 GET /users 获取用户列表
查询单个 GET /users/123 获取 ID 为 123 的用户
新建资源 POST /users 创建一个新的用户
更新资源 PUT/PATCH /users/123 更新 ID 为 123 的用户
删除资源 DELETE /users/123 删除 ID 为 123 的用户

🎯 四、RESTful 的优势

✅ 简单易懂:URL 表示资源,HTTP 动词表示操作 ✅ 与 Web 技术天然契合(浏览器本身就是基于 HTTP 的) ✅ 易于前后端分离和维护 ✅ 可以直接使用浏览器/工具调试(如 Postman、curl)


⚠️ 五、注意事项 / 常见误区


🛠 六、实际例子(以用户资源为例)

GET /users
→ 返回所有用户

GET /users/1
→ 返回 ID 为 1 的用户信息

POST /users
→ 创建用户(请求体中包含用户信息)

PUT /users/1
→ 更新 ID 为 1 的用户信息(整体替换)

DELETE /users/1
→ 删除 ID 为 1 的用户

请求体和响应通常用 JSON 格式:

{
  "id": 1,
  "name": "张三",
  "email": "zhangsan@example.com"
}

🔚 七、常见 RESTful 实践框架

语言 常用框架
Go Gin、Echo、Beego
Python Flask、Django REST framework
Java Spring Boot
Node.js Express、Koa