Skip to content

FastAPIのエラーハンドリング

FastAPIでのエラーハンドリング方法を以下に示します。

FastAPIは、カスタムエラーハンドラーをサポートしています。これにより、特定のエラーに対してカスタムレスポンスを返すことができます。以下に、HTTPExceptionに対するカスタムハンドラーの例を示します。

from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse
app = FastAPI()
@app.exception_handler(HTTPException)
async def custom_http_exception_handler(request, exc):
return JSONResponse(
status_code=exc.status_code,
content={"message": f"Oops! {exc.detail}"},
)
  • @app.exception_handler: カスタムエラーハンドラーを定義します。これにより、エラー発生時に独自のメッセージを返すことができます。

例えば、リクエストされたリソースが見つからない場合、以下のようなカスタムメッセージを返すことができます。

{
"message": "Oops! Item not found"
}

このように、ユーザーに対してより親切なエラーメッセージを提供することができます。