FARM 栈开发:实用资源与项目创意
1. 应用结构优化
在开发应用时,即便没有清晰的规范,也应避免将功能丰富的应用写在单个文件里。可参考 FastAPI 文档网站上关于构建大型应用的内容。主要思路是将应用拆分为路由器和 Pydantic 模型,为它们创建独立的目录,例如 /routers
和 /models
目录,且每个目录都需有一个空的 __init__.py
文件,使其成为 Python 模块。外部服务工具可放在单独文件或 /utils
目录,具体可根据应用复杂度调整。最终会得到一个 ASGI 应用,作为服务器(如 Uvicorn)引用的唯一端点。
操作步骤如下:
1. 创建 /routers
和 /models
目录。
2. 在每个目录下添加空的 __init__.py
文件。
3. 将路由器和 Pydantic 模型分别放入对应的目录。
4. 根据应用复杂度,将外部服务工具放入合适的位置。
2. FastAPI 应用测试
测试对于确保应用按预期运行至关重要。在使用异步 MongoDB 驱动(Motor)和 FastAPI 时,需注意一些特定问题。单元测试 API 很有必要,且设置并不困难,每个端点都应进行测试。Python 中有 unittest
和 pytest
等成熟的单元测试框架,FastAPI 文档推荐使用 Starlette 提供的