グローバル例外ハンドラー
在庫を更新する 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)