Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Integrations
Fastapi
Try itFastAPI - 高性能 Python Web API 框架
What it does
本技能帮助开发者使用 FastAPI 构建现代化、高性能的 Web API,支持以下场景:
The skill document
FastAPI 高性能 Python Web API 框架
技能概述
本技能帮助开发者使用 FastAPI 构建现代化、高性能的 Web API,支持以下场景:
- REST API 开发: 快速构建符合 OpenAPI 标准的 RESTful 接口
- 数据验证: 基于 Pydantic 的自动请求/响应数据验证
- 自动文档: 自动生成 Swagger UI 和 ReDoc 交互式 API 文档
- 异步支持: 原生支持 async/await,处理高并发场景
- 依赖注入: 强大的依赖注入系统,简化认证、数据库连接等公共逻辑
- 安全认证: 内置 OAuth2、JWT、API Key 等认证方案
技术基础: FastAPI 构建于 Starlette(Web 框架层)和 Pydantic(数据验证层)之上,性能接近 NodeJS 和 Go。
架构概览
FastAPI 应用架构
├── app/
│ ├── main.py # 应用入口,注册路由和中间件
│ ├── dependencies.py # 公共依赖(认证、数据库会话等)
│ ├── models/ # Pydantic 数据模型
│ │ ├── __init__.py
│ │ └── user.py
│ ├── routers/ # 路由模块(按业务划分)
│ │ ├── __init__.py
│ │ ├── users.py
│ │ └── items.py
│ ├── crud/ # 数据库操作层
│ │ ├── __init__.py
│ │ └── user.py
│ └── core/ # 核心配置
│ ├── config.py
│ └── security.py
核心概念
| 概念 | 说明 |
|---|---|
| 路径操作 | 使用 @app.get/post/put/delete 装饰器定义 API 端点 |
| 路径参数 | URL 中的变量,如 /items/{item_id} |
| 查询参数 | URL 查询字符串,如 /items?skip=0&limit=10 |
| 请求体 | 通过 Pydantic 模型接收 JSON 数据 |
| 依赖注入 | 通过 Depends() 注入可复用的依赖函数 |
| 中间件 | 处理每个请求/响应的通用逻辑 |
| 路由器 | APIRouter 将路由按模块组织,类似 Flask Blueprint |
使用流程
AI 助手将引导你完成以下步骤:
- 安装 FastAPI 及依赖(uvicorn、pydantic 等)
- 创建应用入口文件
main.py - 定义 Pydantic 数据模型
- 编写路径操作函数(路由处理器)
- 配置依赖注入和中间件
- 启动开发服务器并验证 API 文档
关键章节导航
- 安装指南
- 快速开始
- 高级用法
- 常见问题
AI 助手能力
当你向 AI 描述需求时,AI 会:
- 自动生成 路由处理函数和 Pydantic 数据模型
- 自动配置 依赖注入(数据库会话、用户认证)
- 自动搭建 项目骨架结构(models、routers、crud 分层)
- 自动实现 JWT 认证和 OAuth2 安全方案
- 自动集成 SQLAlchemy/SQLModel 数据库操作
- 自动编写 测试用例(pytest + httpx)
- 自动处理 CORS 配置和自定义中间件
核心功能
- ✅ 基于 Python 类型提示的自动数据验证
- ✅ 自动生成 OpenAPI/Swagger 交互式文档
- ✅ 原生 async/await 异步支持
- ✅ 强大的依赖注入系统
- ✅ 内置安全认证(OAuth2、JWT、API Key、HTTP Basic)
- ✅ 支持 WebSocket 实时通信
- ✅ 支持 GraphQL(通过 Strawberry 集成)
- ✅ 支持后台任务(BackgroundTasks)
- ✅ 支持文件上传和静态文件服务
- ✅ 支持中间件和 CORS 配置
快速示例
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool | None = None
@app.get("/")
async def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "q": q}
@app.put("/items/{item_id}")
async def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}
# 启动开发服务器
fastapi dev main.py
# 或使用 uvicorn
uvicorn main:app --reload
访问 http://127.0.0.1:8000/docs 查看自动生成的交互式 API 文档。
扩展点
- 中间件: 实现日志、限流、请求追踪等横切关注点
- 依赖注入: 封装数据库连接、权限校验等可复用逻辑
- 事件处理:
startup/shutdown生命周期钩子 - 自定义响应: 支持
JSONResponse、HTMLResponse、FileResponse等 - 插件生态: 支持 SQLAlchemy、Celery、Redis、S3 等主流库
环境要求
- Python 3.8 或更高版本(推荐 3.11+)
- pip 包管理器
- (可选)虚拟环境工具(venv、conda、uv)
许可证
MIT License
项目链接
Related skills
Save, search, and manage personal notes and knowledge bases in Get笔记 on explicit request.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from cn-big-cabbage
Browse all skills高性能自适应 Python 网页抓取框架,内置反爬虫绕过(Cloudflare Turnstile)、智能元素重定位、完整爬虫框架和 MCP 服务器,适合 AI 辅助数据提取和大规模爬取任务
用 React 代码程序化生成视频的框架,支持 CSS/Canvas/SVG/WebGL,可部署到 Lambda/Cloud Run 大规模渲染,适合创意视频生成、数据可视化视频和个性化视频批量生产
从零构建的轻量级无头浏览器,专为 AI 智能体和自动化设计,比 Headless Chrome 快 9 倍、内存占用低 16 倍,兼容 CDP 和 Playwright/Puppeteer,内置 MCP 服务器
Chrome DevTools MCP 服务器,让 AI 编码助手(Claude Code、Cursor、Copilot)直接控制和调试真实 Chrome 浏览器,实现截图、性能分析、网络请求检查、控制台调试和自动化操作
FastAPI - 高性能 Python Web API 框架
Claude Code 多智能体编排平台,部署 100+ 专业 AI 智能体协同工作,通过蜂群拓扑(层级/网状/环形/星形)协调自主工作流,内置自学习、向量记忆和原生 MCP 集成