在现代 Web 开发中,前后端分离已经成为主流。无论你是在做管理后台、小程序、移动 App 还是复杂的 Web 系统,都绕不开一个关键技术: REST API。
当你能用 Python 写出清晰、规范、易用的 REST API 时,你做的项目就能被各类前端轻松调用,从而具备真正的"互联网应用能力"。
今天我们就聊聊 REST API 是什么、为什么重要、该怎么用 Python 实现,以及前后端之间是如何交互的。
一、什么是 REST API
REST 的全称是 Representational State Transfer,是一种轻量级、标准化的接口设计风格。
它不复杂,用一句话概括就是:
使用 URL 表示资源,用 HTTP 方法表达操作。
比如"文章"这个资源:
| 操作 | 方法 | 示例 URL |
|---|---|---|
| 获取文章列表 | GET | /api/articles/ |
| 创建一篇文章 | POST | /api/articles/ |
| 获取某篇文章详情 | GET | /api/articles/10/ |
| 更新文章 | PUT | /api/articles/10/ |
| 删除文章 | DELETE | /api/articles/10/ |
这就是 REST 最核心的思想: URL 表资源,方法表行为。
二、REST API 为什么重要
在前后端分离架构下:
- 前端:负责页面、展示、交互
- 后端:负责数据、业务逻辑、权限、存储
两者通过 API 连接,像这样:
css
React / Vue / 小程序 / App → REST API → Python 后端
好处非常明确:
- 灵活:一个后端,可以服务多端
- 解耦:前端改界面不影响后端逻辑
- 可测试:API 可以用 Postman、curl 测试
- 标准化:结构清晰,团队协作更容易
也就是说,只要你写好 API,应用就能随便接各种前端。
三、Python 如何实现 REST API
Python 有很多方式可以创建 REST API,最常用的有:
- Flask:轻量灵活
- Django REST framework:强大、企业级
- FastAPI:高性能、现代化(文档好、速度快)
下面我们用 Flask 示范一个最简单的 REST API。
四、用 Flask 写一个简单 REST API
你先安装 Flask:
bash
pip install flask
写一个基础接口:
python
from flask import Flask, jsonify, request
app = Flask(__name__)
articles = [
{"id": 1, "title": "Hello Python", "content": "Flask makes API easy"},
{"id": 2, "title": "REST 风格", "content": "让接口更标准更清晰"},
]
@app.get("/api/articles")
def get_articles():
return jsonify(articles)
@app.post("/api/articles")
def create_article():
data = request.json
data["id"] = len(articles) + 1
articles.append(data)
return jsonify({"message": "created", "article": data})
if __name__ == "__main__":
app.run()
运行:
bash
python app.py
然后你就可以访问:
- http://127.0.0.1:5000/api/articles 获取文章列表
- POST 相同地址即可创建文章
这就是最基础的 REST API。
五、前端是如何调用 API 的
现代前端一般使用 axios、fetch、uni.request、小程序 API 等方式 来调用后端接口。
以 JavaScript fetch 为例:
javascript
fetch("http://127.0.0.1:5000/api/articles")
.then(resp => resp.json())
.then(data => console.log(data));
返回值通常是 JSON:
json
[
{
"id": 1,
"title": "Hello Python",
"content": "Flask makes API easy"
},
{
"id": 2,
"title": "REST 风格",
"content": "让接口更标准更清晰"
}
]
你会发现,前端不需要知道任何数据库细节,只用关注数据本身即可。
六、REST API 必须遵守的规范
一个优秀的 API 应该满足以下条件:
1. 返回统一的 JSON 结构
不要让前端猜字段。
2. 明确的 HTTP 状态码
示例:
- 200 成功
- 201 创建成功
- 400 参数错误
- 401 未登录
- 500 服务端错误
3. 使用名词做 URL
尽量避免:
bash
/getArticle
/addArticle
要这样:
bash
/articles/
/articles/10
4. 保证数据结构清晰可读
字段名称简洁统一。
七、Python 中更强大的 REST 框架推荐
如果你的项目较大,推荐使用:
Django REST framework
特点:
- 自带认证系统
- 自带分页、序列化、验证
- 企业级项目首选
一行代码就能生成 API:
python
from rest_framework.viewsets import ModelViewSet
FastAPI
特点:
- 非常快
- 自动生成 Swagger 文档
- 异步支持强
示例语法简洁漂亮:
python
from fastapi import FastAPI
app = FastAPI()
@app.get("/items")
def read_items():
return {"msg": "hello"}
八、总结
这一章我们搞清楚了:
- REST API 是前后端分离的基石
- API 就是资源(URL)+ 行为(HTTP 方法)
- Python 可以用 Flask、Django REST、FastAPI 等框架实现
- 前端通过 JSON/HTTP 调用 API
- 优秀的 API 必须规范、统一、清晰
当你能熟练写 REST API,你已经具备成为后端开发者的重要能力。 在实际项目中,它能帮你快速搭建服务端系统,让你的业务真正落地运行。