FastAPI エラー処理

なんかめんどい

レスポンスボディのエラーメッセージを日本語化しなければならない場合、モデル経由のValidation Errorを使おうとするとなんだか大変そう。

結局、リクエストのパラメーターの違反は、routing path の関数に入ってきた直後に

自前で判定し、

UnicornExceptionみたいな自前の例外クラスを発生させ、

@app.exception_handler(UnicornException)でそれを捕捉し、

JSONResponse()でレスポンスボディを形作る、

ここで status_code でHTTPステータスを返したり、

content={“message”: “*が間違ってますよ” } で message: を返したり出来る。

Validation エラー発生時のエラーメッセージを無視する形になるが仕方あるまい。

結論

UnicornExceptionみたいな自前の例外クラスを沢山作る。

スポンサーリンク

コメント

タイトルとURLをコピーしました