FastAPI の 422 エラー応答をヘッダー欠落に対する 401 にカスタマイズするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-20 12:36:13
オリジナル
275 人が閲覧しました

How to Customize FastAPI's 422 Error Response to 401 for Missing Headers?

FastAPI での特定のルートのエラー応答のカスタマイズ

問題の概要

FastAPI では、エンドポイントに特定のヘッダーが必要になる場合があります。このヘッダーがクライアント要求に存在しない場合、サーバーはエラー コード 422 Unprocessable Entity を返します。ただし、シナリオによっては、このエラー応答を 401 Unauthorized にカスタマイズすることが望ましい場合があります。

ソリューション オプション

オプション 1: カスタム エラー処理を使用したオプションのヘッダー

ヘッダーがオプションであることを示すには、Header(None) を使用します。関数本体内で、None をチェックし、ヘッダーが存在しない場合は 401 Unauthorized エラーを発生させます。

オプション 2: 例外ハンドラーをオーバーライドする

RequestValidationError 例外ハンドラーをオーバーライドします。 。エラーがカスタム ヘッダーに関連しているかどうかを確認し、それに応じてカスタム エラー応答 (例: 401 Unauthorized) を返します。

オプション 3: カスタム例外処理を備えたサブアプリケーション

サブアプリケーションを作成し、メインアプリケーションにマウントします。サブアプリケーションの RequestValidationError の例外ハンドラーをオーバーライドして、そのサブアプリケーションのみのルートのエラーを処理します。

オプション 4: カスタム APIRoute クラスを使用した APIRouter

使用例外処理を処理するカスタム APIRoute クラス。このクラス内で、RequestValidationError をキャッチし、カスタム エラー応答を返すカスタム ルート ハンドラーを定義します。

以上がFastAPI の 422 エラー応答をヘッダー欠落に対する 401 にカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート