fastapi-development について
Python 開発者向けの FastAPI 開発スキルです。非同期 API、Pydantic による検証、依存性注入、JWT 認証を扱い、分野別のリファレンスガイドを提供します。
主な機能
- 01非同期 REST API の構築
- 02Pydantic によるデータ検証
- 03OpenAPI ドキュメントの自動生成
- 04依存性注入とサービス層
- 05JWT 認証の実装
活用シーン
- 01高性能な Python API の開発
- 02非同期 API エンドポイントの作成
- 03マイクロサービスの構築
- 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.mdasync-database-models-and-queries.mdfastapi-application-setup.mdpydantic-models-for-validation.mdsecurity-and-jwt-authentication.mdservice-layer-for-business-logic.mdscripts/validate-api.shtemplates/api-scaffold.yaml詳細
FastAPI 開発
目次
概要
FastAPI を使用して、async/await のサポート、自動 API ドキュメント、Pydantic による型検証、依存性注入、JWT 認証、SQLAlchemy ORM との統合を備えた、高速でモダンな Python API を作成できます。
使用する場面
- 高パフォーマンスな 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 ステータスコードを返します
- docstring とタグでエンドポイントをドキュメント化します
❌ 避けるべき事項
- 同期的なデータベース操作を使用します
- 検証せずにユーザー入力を信頼します
- シークレットをコードに保存します
- 型ヒントを無視します
- レスポンスでデータベースモデルを返します
- ルートハンドラーに認証を実装します
- 可変なデフォルト引数を使用します
- クエリパラメーターの検証を忘れます
- 本番環境でスタックトレースを公開します
コメント
Markdown 対応