我使用AI编程协助者进行FastAPI工作,并且他们生成的代码充满了反模式。

常见错误:

- 忽略了Depends()方法(依赖注入)
- 使用Pydantic v1模式(validator,Field(...,env=))而不是v2
- 将所有路由都放在main.py文件中而不是使用APIRouter
- 把所有端点都设置为异步(即使有阻塞数据库调用)的
- 使用@app.on_event而不是生命周期上下文管理器
- 没有合适的response_model声明
- 对异步操作缺少后台任务

我创建了一个免费的插件来强制实施现代FastAPI模式。

它的功能:
- 为所有可注入的依赖进行Depends()方法
- Pydantic v2 API专用(field_validator,model_config)
- APIRouter组织路由
- 只在使用异步驱动器(asyncpg,httpx)时进行异步操作
- 生命周期管理取代已弃用的on_event
- 每个端点都有明确的response models

免费,MIT,零配置:https://github.com/ofershap/fastapi-best-practices

支持Cursor、Claude Code、Cline和任何AI编辑器。

是否还有其他人注意到AI生成的FastAPI代码中的这些模式?