python flask-RESTful

大家好,我是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 告诉你:新增了用户:王五