用途:为使用 FastAPI 构建现代 Python Web API 提供专家级指导,覆盖高性能、异步、类型安全与自动 OpenAPI 文档等方向。当用户提到 Python、API、async、REST、OpenAPI 等关键词时可使用。
主要能力:FastAPI 基于 Starlette 与 Pydantic,具备自动 OpenAPI/Swagger 文档、类型提示与校验、async/await、依赖注入、OAuth2 与 JWT、WebSocket 支持。核心组件包括路径操作(路由)、请求/响应模型、依赖注入、中间件、后台任务,以及用 TestClient 进行测试。
使用方式:资料给出基础应用示例,使用 FastAPI() 创建应用,配合 Pydantic 的 BaseModel、EmailStr、Field 定义模型,通过 @app.post、@app.get 等装饰器定义路由,并用 uvicorn.run(app, host="0.0.0.0", port=8000) 启动。依赖注入通过 Depends 实现,可注入数据库会话与当前用户;认证部分使用 OAuth2PasswordBearer、jose 的 jwt、passlib 的 CryptContext 完成密码哈希与令牌签发。数据库集成使用 SQLAlchemy 异步引擎与 AsyncSession,示例连接串为 postgresql+asyncpg://user:password@localhost/dbname。请求校验可用 validator、root_validator;后台任务通过 BackgroundTasks.add_task 添加;测试使用 fastapi.testclient.TestClient 与 pytest。
适用场景:构建 REST API、需要自动文档与类型校验的服务、异步 I/O 密集型接口、带 JWT 认证与数据库访问的后端,以及需要 WebSocket 或后台任务的应用。
限制:资料未提供该技能的安装命令、收费方式、平台支持范围或具体版本要求,这些信息暂未提供。示例中的数据库、密钥与算法等需按实际环境替换,不应直接用于生产。