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 サイトの他の関連記事を参照してください。