ホームページ >バックエンド開発 >Python チュートリアル >FastAPI で POST リクエストを処理し、JSON レスポンスを返す方法

FastAPI で POST リクエストを処理し、JSON レスポンスを返す方法

WBOY
WBOYオリジナル
2023-07-29 15:08:015128ブラウズ

FastAPI で POST リクエストを処理し、JSON レスポンスを返す方法

FastAPI は、標準の Python 型ヒントに基づいた、高速 (高パフォーマンス) で使いやすい最新の Web フレームワークです。強力な非同期サポートがあり、同時実行性の高い状況を簡単に処理できます。 FastAPI では、簡潔なコードを使用して POST リクエストを処理し、JSON レスポンスを返すことができます。この記事では、FastAPI でこのタスクを実行する方法を説明し、対応するコード例を示します。

まず、FastAPI アプリケーションを作成する必要があります。アプリケーションを作成する基本コードは次のとおりです。

from fastapi import FastAPI

app = FastAPI()

次に、POST リクエストを処理するルートを作成する必要があります。 FastAPI はデコレータを使用してルートを定義します。 POST リクエストの処理例を次に示します。

@app.post("/api/submit")
async def submit_data(data: dict):
    # 在这里进行数据处理
    # ...
    # 返回JSON响应
    return {"message": "Data submitted successfully"}

上の例では、デコレータ @app.post を使用し、パス /api/submit でルートを定義しました。 、リクエストメソッドはPOSTです。ルーティング関数 submit_data は、data という名前のパラメータを受け入れます。パラメータ タイプは dict で、これは POST リクエストでデータを受信するために使用されます。

submit_data 関数では、データの検証、データベースへの保存などのデータ処理ロジックを実行できます。次に、return ステートメントを使用して JSON 応答を返します。この例では、キー "message" と値 "Data submit completed success" を含むディクショナリを返します。

FastAPI では、async def を使用して非同期関数を定義することに注意してください。これにより、フレームワークの非同期機能を最大限に活用してパフォーマンスを向上させることができます。

アプリケーションを実行するには、次のコードを追加する必要があります:

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

上記のコードにより、アプリケーションはローカルの 0.0.0.0 アドレスで実行されます。ポート 8000。

これで、FastAPI で POST リクエストを処理し、JSON レスポンスを返す基本的なコードが完成しました。 POST リクエストを /api/submit に送信し、リクエスト本文に JSON データを含めることで、アプリケーションをテストできます。

以下は、Python requests ライブラリを使用して POST リクエストを送信する例です。

import requests

data = {"name": "John", "age": 30}
response = requests.post("http://localhost:8000/api/submit", json=data)

print(response.json())

上の例では、辞書 data## を作成しました。 # 、これにはいくつかのデータが含まれています。次に、requests.post メソッドを使用して POST リクエストを送信し、json パラメーターを介してデータを JSON として送信します。最後に、response.json() メソッドを使用して応答 JSON データを取得し、出力します。

上記の簡単な例を通じて、FastAPI で POST リクエストを処理し、JSON レスポンスを返す方法を示します。 FastAPI はシンプルかつ強力な API 設計を提供し、Web アプリケーションをより効率的に構築できるようにします。この記事が、FastAPI を使用して POST リクエストを処理するプロセスに役立つことを願っています。

以上がFastAPI で POST リクエストを処理し、JSON レスポンスを返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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