大家好,我是python网页后端flask的讲师geo
pip install flask flask-restful
RESTful API 的“餐馆”比喻
想象一下,你不是在写代码,而是在一家高科技餐厅点餐。
概念比喻
| 编程概念 | “餐馆”比喻 | 解释 |
|---|---|---|
| API | 服务员/点餐系统 | 你和厨房(数据)之间的沟通桥梁。你对服务员说话,厨房才能知道你要什么。 |
| Resource (资源) | 菜单上的菜品 | 你的数据就是“菜”,比如“用户列表”、“一篇文章”。你想要操作的目标。 |
| HTTP 方法 | 你要做的动作 | 你想对“菜品”做什么? |
GET (获取) |
“给我看看这个菜” | 查(看):从厨房拿到数据。 |
POST (创建) |
“给我新做一份菜” | 增(加):给厨房新的数据。 |
PUT/PATCH (更新) |
“把这道菜改一下” | 改(变):修改已有的数据。 |
DELETE (删除) |
“把这道菜撤掉” | 删(掉):移除数据。 |
Flask-RESTful 是什么?
- Flask:就是餐馆的厨房,能处理和制作食物(数据)。
- Flask-RESTful:是厨房里的一套标准化工具。它让你不用每次都去厨房门口喊话,而是给你一张标准的点餐卡(
Resource),让你更容易地跟服务员(Api)交流。
如何使用 Flask-RESTful (点餐步骤)
现在,我们想让餐馆提供一个关于“用户 (User)”的菜品服务:
第一步:定菜名和菜谱 (定义 Resource)
我们创建一个“用户”的标准点餐卡。这张卡上写清楚了,当客人想对“用户”这个菜做什么操作时,厨房应该怎么做。
class User(Resource): # 这就是“用户”的点餐卡
def get(self): # 如果客人说“给我看看用户” (GET)
return {'用户': '张三, 李四'} # 厨房就给出用户列表
def post(self): # 如果客人说“新增一个用户” (POST)
return {'成功': '新增了用户:王五'} # 厨房就加一个人
第二步:交给服务员 (添加到 Api)
我们把这张点餐卡交给总服务台(Api),并告诉他们:“客人喊 /users 的时候,就用这张卡!”
api.add_resource(User, '/users') # 将点餐卡和路径(/users)绑定
第三步:客人点餐 (测试 API)
你扮演客人,通过浏览器或工具访问:
| 你访问的 URL | 使用的动作 (HTTP 方法) | 厨房的反应 (结果) | 对应操作 |
|---|---|---|---|
http://.../users |
GET | 给你看用户列表:张三, 李四 | 查 |
http://.../users |
POST | 告诉你:新增了用户:王五 | 增 |