所有文章 > 如何集成API > Python Flask 教程:从零构建 RESTful API 并实现 CRUD 操作
Python Flask 教程:从零构建 RESTful API 并实现 CRUD 操作

Python Flask 教程:从零构建 RESTful API 并实现 CRUD 操作

一. 先决条件

在开始之前,请确保您的开发环境已具备以下工具和依赖:

  • Python 3.x
  • pip 包管理工具
  • Postman(用于测试 API)

二. 设置 Flask 应用程序

1. 创建项目目录和虚拟环境

首先,为项目创建一个新目录,并在其中初始化虚拟环境:

$ mkdir flask-rest-api
$ cd flask-rest-api
$ python3 -m venv venv
$ source venv/bin/activate

2. 安装 Flask 及扩展

安装 Flask 和 Flask-RESTful:

$ pip install Flask Flask-RESTful

三. 创建基础 API

1. 创建 app.py 文件

在项目目录中创建 app.py 文件,并添加以下代码:

from flask import Flask
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        return {"message": "Hello, World!"}

api.add_resource(HelloWorld, "/")

if __name__ == "__main__":
    app.run(debug=True)

上述代码创建了一个简单 API,包含一个返回 JSON 消息 {"message": "Hello, World!"} 的端点。

2. 启动 Flask 服务器

$ python app.py

四. 测试 API

使用 Postman 或其他 API 测试工具,向 http://localhost:5000/ 发送 GET 请求。响应如下:

{
  "message": "Hello, World!"
}

五. 扩展 API:实现 CRUD 操作

1. 添加数据存储与 CRUD 端点

更新 app.py 文件,添加内存数据存储和 CRUD 操作:

from flask import Flask, request
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

data_store = []

class DataResource(Resource):
    def get(self, data_id):
        for data in data_store:
            if data["id"] == data_id:
                return data
        return {"error": "data not found"}, 404

    def post(self, data_id):
        data = request.get_json()
        data["id"] = data_id
        data_store.append(data)
        return data, 201

    def put(self, data_id):
        for data in data_store:
            if data["id"] == data_id:
                data.update(request.get_json())
                return data
        return {"error": "data not found"}, 404

    def delete(self, data_id):
        global data_store
        data_store = [data for data in data_store if data["id"] != data_id]
        return {"result": "data deleted"}

api.add_resource(DataResource, "/data/ < int:data_id > ")

if __name__ == "__main__":
    app.run(debug=True)

注意:路由更新为 /data/ < int:data_id > ,确保每个数据项有唯一 ID。

2. 测试 CRUD 操作

a. 创建数据

http://localhost:5000/data/1 发送 POST 请求,JSON 示例:

{
  "name": "Sample Data",
  "value": 123
}

b. 读取数据

http://localhost:5000/data/1 发送 GET 请求。

c. 更新数据

http://localhost:5000/data/1 发送 PUT 请求,带更新后的 JSON 正文。

d. 删除数据

http://localhost:5000/data/1 发送 DELETE 请求。


六. 总结与下一步

通过本教程,您已经学习了如何使用 Python 和 Flask 创建一个简单 RESTful API,并实现了 CRUD 操作。

接下来,您可以进一步扩展功能:

  • 连接数据库(如 SQLitePostgreSQL)存储数据
  • 实现用户身份验证和授权
  • 添加更复杂的业务逻辑和错误处理

原文链接供参考:

原文链接: https://reintech.io/blog/how-to-create-a-restful-api-with-python

#你可能也喜欢这些API文章!

我们有何不同?

API服务商零注册

多API并行试用

数据驱动选型,提升决策效率

查看全部API→
🔥

热门场景实测,选对API

#AI文本生成大模型API

对比大模型API的内容创意新颖性、情感共鸣力、商业转化潜力

25个渠道
一键对比试用API 限时免费

#AI深度推理大模型API

对比大模型API的逻辑推理准确性、分析深度、可视化建议合理性

10个渠道
一键对比试用API 限时免费