这是一个使用 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) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。