mcpField
F
fastapi-development

fastapi-development

github.com/aj-geddes开发373620 次安装34 周前更新
代码仓库

关于 fastapi-development

面向 Python 开发者的 FastAPI 开发技能,涵盖异步 API、Pydantic 验证、依赖注入和 JWT 身份验证,并提供分主题参考指南。

主要功能

  1. 01构建异步 REST API
  2. 02Pydantic 数据验证
  3. 03自动生成 OpenAPI 文档
  4. 04依赖注入与服务层
  5. 05JWT 身份验证

适用场景

  1. 01开发高性能 Python API
  2. 02创建异步 API 端点
  3. 03构建微服务
  4. 04为受保护路由添加身份验证

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill fastapi-development

安装后在 Claude Code 中输入/fastapi-development确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-routes-with-async-endpoints.md
async-database-models-and-queries.md
fastapi-application-setup.md
pydantic-models-for-validation.md
security-and-jwt-authentication.md
service-layer-for-business-logic.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

详细介绍

FastAPI 开发

目录

概述

使用 FastAPI 构建快速、现代的 Python API,支持 async/await、自动生成 API 文档、通过 Pydantic 进行类型验证、依赖注入、JWT 身份验证以及 SQLAlchemy ORM 集成。

适用场景

  • 构建高性能 Python REST API
  • 创建异步 API 端点
  • 实现自动生成的 OpenAPI/Swagger 文档
  • 利用 Python 类型提示进行验证
  • 构建支持异步的微服务
  • 集成 Pydantic 进行数据验证

快速开始

最简可运行示例:

# main.py
from fastapi import FastAPI, HTTPException, status
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
import logging

# Setup logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# Create FastAPI instance
app = FastAPI(
    title="API Service",
    description="A modern FastAPI application",
    version="1.0.0",
    docs_url="/api/docs",
    openapi_url="/api/openapi.json"
)

# Add CORS middleware
app.add_middleware(
    CORSMiddleware,
    allow_origins=["http://localhost:3000"],
    allow_credentials=True,
    allow_methods=["*"],
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
FastAPI 应用设置FastAPI 应用设置
用于验证的 Pydantic 模型用于验证的 Pydantic 模型
异步数据库模型和查询异步数据库模型和查询
安全与 JWT 身份验证安全与 JWT 身份验证
业务逻辑服务层业务逻辑服务层
带异步端点的 API 路由带异步端点的 API 路由

最佳实践

✅ 应该做
  • 对 I/O 操作使用 async/await
  • 利用 Pydantic 进行验证
  • 使用依赖注入提供服务
  • 使用 HTTPException 实现适当的错误处理
  • 使用类型提示自动生成 OpenAPI 文档
  • 为业务逻辑创建服务层
  • 在受保护的路由上实现身份验证
  • 使用环境变量进行配置
  • 返回适当的 HTTP 状态码
  • 使用文档字符串和标签记录端点
❌ 不应该做
  • 使用同步数据库操作
  • 不经验证就信任用户输入
  • 在代码中存储机密
  • 忽略类型提示
  • 在响应中返回数据库模型
  • 在路由处理程序中实现身份验证
  • 使用可变默认参数
  • 忘记验证查询参数
  • 在生产环境中暴露堆栈跟踪

评论

支持 Markdown