FastAPI でパラメータ化されたリクエストにパス パラメータを使用する方法
FastAPI は、標準 API (Pydantic や OpenAPI など) に基づいて開発された、高速 (高パフォーマンス) で使いやすい最新の Web フレームワークです。 FastAPI では、パス パラメータを使用してリクエストをパラメータ化し、さまざまなリクエストをより適切に処理できます。
パス パラメーターは、リソースの特定のインスタンスを識別するために使用される URL の部分を指します。パス パラメーターを使用すると、さまざまなニーズに応じて Web API から特定のデータを取得できます。以下では、パス パラメーターを使用して FastAPI でパラメーター化されたリクエストを行う方法を紹介し、対応するコード例を示します。
まず、FastAPI
モジュールとPath
モジュールをインポートし、app
オブジェクトを作成する必要があります:
from fastapi import FastAPI, Path app = FastAPI()
次に、ルーティング パスでパス パラメータを定義できます。パス パラメーターは中括弧で囲まれた文字列で、パラメーターの名前とデータ型を定義できます。たとえば、item_id
のパス パラメータを定義できます:
@app.get("/items/{item_id}") async def read_item(item_id: int): return {"item_id": item_id}
上記の例では、ルーティング パス/items/{item_id}
を定義します。パス パラメーターitem_id
のデータ型をint
として定義します。関数パラメータでは、パス パラメータの名前item_id
を直接使用して値を取得できます。
サーバー/items/42
にリクエストを送信すると、FastAPI はパス パラメーターの値を対応する関数に自動的に渡し、パラメーターの値として返します。上の例では、パラメータの名前と値を含む JSON オブジェクトが返されます。
{"item_id": 42}
path パラメータに他のパラメータを指定することもできます。たとえば、パスパラメータの最小値と最大値を指定できます。以下は例です:
@app.get("/users/{user_id}") async def read_user(user_id: int = Path(..., ge=1, le=100)): return {"user_id": user_id}
上の例では、2 つのパラメータge
とle
を使用してuser_id
の範囲を制限します。これは、user_id
の値が 1 以上、100 以下である必要があることを示します。送信するリクエストのuser_id
がこの範囲を超える場合、FastAPI は HTTP 例外応答を送信します。
通常のデータ型に加えて、パス パラメーターのデータ型として列挙型も使用できます。以下に例を示します。
from enum import Enum class Size(str, Enum): small = "small" medium = "medium" large = "large" @app.get("/items/{item_id}/size/{size}") async def read_item_size(item_id: int, size: Size): return {"item_id": item_id, "size": size}
上の例では、Size
列挙クラスを定義し、それをパラメータsize
のデータ型として使用します。リクエスト/items/42/size/small
を送信すると、FastAPI はパス パラメーターの値を対応する関数に渡し、パラメーターの値として返します。
パス パラメーターを使用してリクエストをパラメーター化することは、FastAPI を使用して Web API でさまざまなリクエストを処理するための重要な手法の 1 つです。パス パラメーターを通じて、さまざまなルーティング パスを定義し、さまざまなニーズに応じてサーバーから特定のデータを取得できます。上記の例では、パス パラメーターを使用してリクエストをパラメーター化する方法を示し、対応するコード例を提供します。
要約すると、パス パラメーターを使用して FastAPI でパラメーター化されたリクエストを行う手順は次のとおりです。
Path
モジュールとFastAPI# をインポートします。 ## 図書館 。
オブジェクトをアプリケーションのインスタンスとして作成します。
以上がパラメータ化されたリクエストに対して FastAPI でパス パラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。