这是一个使用 Python Flask 构建 REST API 的教程,主要内容如下:
- 项目及测试文件:可在GitHub获取完整项目和测试文件,方便跟随学习或进一步扩展代码。
- 教程目标:使用 Python Flask 构建一个 REST API,包含一个
GET /items
端点,从 SQLite 数据库返回物品列表,适合初学者。 - 前提条件和设置:确保系统安装 Python(推荐 Python 3)、Flask 库(
pip install flask
),具备 Python 基础知识,在计算机上创建项目文件夹(如flask_api_project
)。 - 项目概述:使用 Flask 处理 HTTP 请求,SQLite 作为数据库存储物品,API 有一个
GET /items
端点返回数据库中所有物品的 JSON 数据,并编写简单测试。 创建 Flask 应用(app.py):
- 导入
sqlite3
、Flask
和jsonify
。 - 创建 Flask 应用实例。
- 连接到
items.db
数据库,创建items
表,若为空则插入两个样本数据。 - 定义
GET /items
端点,从数据库获取物品列表并转换为 JSON 响应。 - 在
if __name__ == '__main__':
块中运行 Flask 开发服务器,设置debug=True
便于调试。
- 导入
在本地运行应用:
- 在项目目录中运行
python app.py
启动 Flask 服务器,可在浏览器或使用curl
访问http://127.0.0.1:5000/items
查看 JSON 响应。 - 完成后按
CTRL+C
停止服务器,若遇到端口冲突可修改端口号。
- 在项目目录中运行
为 API 编写测试(test_app.py):
- 导入
unittest
和app
对象。 - 在
setUp
方法中设置测试环境,创建测试客户端。 - 编写多个测试用例,如测试
GET /items
的状态码、返回数据类型、包含的字段等。 - 运行
python test_app.py
执行测试,查看测试结果。
- 导入
- 项目结构:项目目录包含
app.py
(Flask 应用和端点逻辑)、test_app.py
(测试用例)、requirements.txt
(项目依赖)、items.db
(SQLite 数据库文件)。 - 打包和下一步:可将项目打包为
.zip
文件,方便分享或上传到 GitHub。下一步可尝试添加新端点,如POST /items
、PUT /items/
、DELETE /items/
,或使用 ORM 或其他框架构建更复杂的 API。
总之,通过本教程,你构建了一个简单的 REST API 并学会了相关的开发和测试技能,为构建更复杂的应用奠定了基础。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。