柔軟なデータ受信のための FastAPI エンドポイントの作成
FastAPI では、フォームと JSON リクエストボディの両方を処理できるエンドポイントを作成できます。
オプション 1: Content-Type を動的に決定する
- Content-Type ヘッダーをチェックする依存関係関数を作成します。
- Starlette のメソッドに基づいてリクエスト本文を解析します。コンテンツ タイプに関するものです。
- 解析エラーを検出するには、try-excel ブロックを使用します。
オプション 2: オプションのパラメータを使用する
- オプションとしてマークされたファイル パラメーターとフォーム パラメーターを使用してエンドポイントを定義します。
- パラメーターに値があるかどうかを確認して、フォーム データが送信されたかどうかを判断します。
- それ以外の場合は、リクエスト本文を次のように解析してみます。 JSON.
オプション 3: ミドルウェアでエンドポイントを分離する
- JSON とフォーム データ リクエスト用に個別のエンドポイントを作成します。
- 使用Content-Type を確認し、リクエストを適切なエンドポイントにリダイレクトするミドルウェア。
オプション 4: 結合リクエストを検討する
- Pydantic の model_validate_json を利用する() メソッドを使用して、フォーム パラメーターで渡された JSON 本文を解析します。
- エンドポイント パラメーターをオプションにすることで、1 つのリクエストで JSON とフォーム データの両方を送信できるようにします。
以上がフォームと JSON データの両方を受け入れる FastAPI エンドポイントを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。