何为 REST
494 字约 2 分钟
2026-08-14
REST API 是一种设计 Web API 的常见风格。
你可以先把它理解成:
用 URL 表示“资源”,用 HTTP Method 表示“对资源做什么”。
例如我们有一个“用户”资源:
/users
/users/123那么可以设计成:
GET /users 获取用户列表
GET /users/123 获取 123 号用户
POST /users 创建用户
PUT /users/123 修改 123 号用户
DELETE /users/123 删除 123 号用户这里 URL 尽量表达的是东西是什么,而不是动作。
比如 REST 风格通常更喜欢:
DELETE /users/123而不是:
POST /deleteUser?id=123REST 的核心思想可以抓住三个点:
- Resource(资源) 用户、文章、订单、模型任务等都可以看作资源:
/users
/articles
/orders- HTTP Method 表示操作
GET 查询
POST 创建
PUT 整体更新
PATCH 部分更新
DELETE 删除- 服务器尽量无状态(stateless) 每次请求应该携带完成这次请求所需要的信息,而不是依赖“服务器记得上一次请求发生了什么”。
例如:
GET /users/123
Authorization: Bearer xxx服务器根据这一次请求本身就能处理它。
在 Flask 中,一个 REST API 可能长这样:
from flask import Flask, request
app = Flask(__name__)
@app.route("/users/<int:user_id>", methods=["GET"])
def get_user(user_id):
return {
"id": user_id,
"name": "Alice"
}
@app.route("/users", methods=["POST"])
def create_user():
data = request.get_json()
return {
"id": 123,
"name": data["name"]
}, 201对应:
GET /users/123返回:
{
"id": 123,
"name": "Alice"
}以及:
POST /users
{
"name": "Alice"
}创建一个用户。
需要注意:REST API 不等于 API,也不等于 HTTP API。
关系大致是:
API
└── Web / HTTP API
├── REST API
├── GraphQL API
├── RPC 风格 API
└── ...所以当别人说:
“我们用 Flask 写一个 REST API。”
通常就是指:
用 Flask 写 HTTP 接口,并按照资源 + HTTP Method 这种 REST 风格来组织 URL 和行为。
对于学习 Flask,实际上先掌握:
URL
HTTP Method
Request
Response
JSON
HTTP Status Code就足够了。REST 只是告诉你这些东西应该怎样组织得比较规范。
