SuperAPI AI 工具集

fastapi-templates

编程与开发

查看项目

更新于 10-16 03:14

技能介绍

用途:该技能用于从零创建生产级 FastAPI 项目,适合构建异步 REST API、高性能 Web 服务与微服务,以及对接 PostgreSQL、MongoDB 的异步应用,并建立规范的项目结构、依赖注入与测试体系。

主要能力:给出推荐目录布局,包含 app/api(v1/endpoints、router)、core(config、security、database)、models、schemas、services、repositories 与 main 入口。涵盖 FastAPI 的 Depends 依赖注入、async/await 异步路由与数据库操作、后台任务、中间件、Pydantic 请求响应模型、统一错误处理与多层测试。

使用方式:按资料示例组织代码。配置层用 pydantic_settings 的 BaseSettings 读取 .env,并用 lru_cache 提供 get_settings;数据库层用 create_async_engine 与 AsyncSession 构建会话工厂,通过 get_db 依赖管理提交、回滚与关闭;数据访问层用泛型 BaseRepository 实现 get、get_multi、create、update、delete,再由 UserRepository 扩展按邮箱查询等方法;服务层(如 UserService)封装创建用户、认证、更新等业务逻辑并处理密码哈希;接口层用 APIRouter 定义用户 CRUD,配合 get_current_user 依赖完成 JWT 鉴权。安全部分用 passlib 的 bcrypt 哈希密码、python-jose 生成与校验 JWT。测试用 pytest 异步夹具、httpx 异步客户端与内存 SQLite,示例覆盖创建用户的 201 断言。资料还附带工程规范:异步到底、依赖注入、仓储与服务分层、Pydantic 强类型、统一错误响应与分层测试。

限制:未提供具体安装命令、依赖版本、许可与适用环境说明,暂未提供。需注意避免在异步中使用同步数据库驱动、避免业务逻辑写入路由、需正确管理会话,并补充集成测试。