使用 Python Flask 和 SQLite 构建一个简单的 REST API(带有测试)

这是一个使用 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)

    • 导入sqlite3Flaskjsonify
    • 创建 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)

    • 导入unittestapp对象。
    • setUp方法中设置测试环境,创建测试客户端。
    • 编写多个测试用例,如测试GET /items的状态码、返回数据类型、包含的字段等。
    • 运行python test_app.py执行测试,查看测试结果。
  • 项目结构:项目目录包含app.py(Flask 应用和端点逻辑)、test_app.py(测试用例)、requirements.txt(项目依赖)、items.db(SQLite 数据库文件)。
  • 打包和下一步:可将项目打包为.zip文件,方便分享或上传到 GitHub。下一步可尝试添加新端点,如POST /itemsPUT /items/DELETE /items/,或使用 ORM 或其他框架构建更复杂的 API。

总之,通过本教程,你构建了一个简单的 REST API 并学会了相关的开发和测试技能,为构建更复杂的应用奠定了基础。

阅读 28
0 条评论