ホームページ >バックエンド開発 >Python チュートリアル >FastAPI で JSON POST リクエストを送信するときに 422 エラーを処理する方法は?

FastAPI で JSON POST リクエストを送信するときに 422 エラーを処理する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-17 01:09:24181ブラウズ

How to Handle 422 Errors When Sending JSON POST Requests in FastAPI?

FastAPI: JSON データを使用した POST リクエストの処理

FastAPI API を使用する場合、特に 422 Unprocessable Entity エラー コードが発生するとイライラすることがあります。 POST リクエスト経由で JSON データを送信するとき。このエラーは、リクエスト本文が予期された形式と一致しない場合、または必須フィールドが欠落している場合に発生します。

この問題を解決するには、JSON データを期待するエンドポイントを定義する次のオプションを検討してください:

オプション 1: Pydantic モデル

Pydantic モデルを利用してリクエストの構造化表現を作成します 体。このアプローチにより、予期されるパラメーターの検証と文書化が容易になります。

オプション 2: 本体パラメーター

Body パラメーターの埋め込みを使用して、予期される JSON ペイロードを関数内で直接宣言します。サイン。このメソッドはパラメータの処理を簡素化します。

オプション 3: 辞書タイプ

リクエスト本文を dict[Any, Any] または Python 3.9 を使用する場合は dict として定義します。このオプションはカスタム検証を提供しませんが、柔軟性を提供します。

オプション 4: Starlette のリクエスト オブジェクト

Starlette リクエスト オブジェクトを通じてリクエスト本文に直接アクセスします。この方法では、async def を使用する必要があり、JSON 解析を手動で処理する必要があることに注意してください。

オプションのテスト

上記のオプションをテストするには、Python リクエスト ライブラリまたはJavaScript フェッチ API。リクエスト ヘッダーに適切な Content-Type (例: application/json) が含まれていること、および本文に必要な JSON データが含まれていることを確認してください。

以上がFastAPI で JSON POST リクエストを送信するときに 422 エラーを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。