始める無料で始める

グローバル例外ハンドラー

在庫を更新する API の利用者が増えてきた結果、JSON 形式でエンコードされたバリデーションエラーが読みづらいという声が寄せられるようになりました。そこで、リクエストのバリデーションエラーをプレーンテキストで返すグローバルエラーハンドラーを作成しましょう。

RequestValidationError 例外はあらかじめ読み込まれています。

この演習はコースの一部です

FastAPI を使った AI のプロダクション環境へのデプロイ

コースを見る

演習の手順

  • プレーンテキストのレスポンス用クラスをインポートします。
  • validation_exception_handler をグローバル例外ハンドラーとしてアノテーションします。
  • バリデーション例外が発生した場合に、プレーンテキストのレスポンスを返します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import class for plain text response
from fastapi.responses import ____

app = FastAPI()

# Create global exception handler
@app.____(RequestValidationError)
async def validation_exception_handler(request, exc):
    # Return plain text response
    return ____(str(exc), status_code=400)
コードを編集して実行