ホームページ  >  記事  >  バックエンド開発  >  フォームと JSON データの両方を受け入れる FastAPI エンドポイントを作成するにはどうすればよいですか?

フォームと JSON データの両方を受け入れる FastAPI エンドポイントを作成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-27 11:33:02246ブラウズ

 How Can I Create a FastAPI Endpoint That Accepts Both Form and JSON Data?

柔軟なデータ受信のための 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 サイトの他の関連記事を参照してください。

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