Tech Blog

プログラミングと技術の情報サイト

PythonのFastAPIでREST APIを構築する

PythonのFastAPIでREST APIを構築する

FastAPIはPythonの型ヒントを活用した高速なWebフレームワークです。 自動ドキュメント生成、バリデーション、非同期サポートが標準で備わっており、 DjangoやFlaskに比べて少ないコードでAPIを構築できます。

インストールと起動

pip install fastapi uvicorn[standard]
uvicorn main:app --reload

基本的なエンドポイント

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    name: str
    age: int

@app.get("/users/{user_id}")
async def get_user(user_id: int):
    return {"user_id": user_id}

@app.post("/users")
async def create_user(user: User):
    return {"message": f"{user.name}を作成しました"}

依存性注入

from fastapi import Depends

def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()

@app.get("/items")
def list_items(db: Session = Depends(get_db)):
    return db.query(Item).all()

自動ドキュメント

FastAPIは起動すると /docs(Swagger UI)と /redoc に 自動でAPIドキュメントを生成します。フロントエンドとの連携がスムーズになります。

まとめ

FastAPIはFlaskの書きやすさとDjangoのような機能性を両立したフレームワークです。 型ヒントを積極的に使うことでIDEの補完も効き、開発効率が大幅に向上します。

← 記事一覧に戻る