ホームページ >バックエンド開発 >Python チュートリアル >パラメータ化されたリクエストに対して FastAPI でパス パラメータを使用する方法

パラメータ化されたリクエストに対して FastAPI でパス パラメータを使用する方法

王林
王林オリジナル
2023-07-28 15:13:461226ブラウズ

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 つのパラメータ gele を使用して 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 でパラメーター化されたリクエストを行う手順は次のとおりです。

  1. Path モジュールと FastAPI# をインポートします。 ## 図書館 。
  2. app オブジェクトをアプリケーションのインスタンスとして作成します。
  3. ルーティング パスでパス パラメーターを定義し、中かっこを使用してパラメーターを囲みます。
  4. 対応する関数では、パス パラメーターの名前を直接使用してパラメーターの値を取得できます。
パス パラメーターを使用すると、さまざまなリクエストをより適切に処理し、サーバーから特定のデータを正確に取得できます。

参考:

    [FastAPI ドキュメント](https://fastapi.tiangolo.com/)
この記事が理解に役立つことを願っていますパラメータ化されたリクエストに対して FastAPI でパス パラメータを使用する方法が役立ちます。

以上がパラメータ化されたリクエストに対して FastAPI でパス パラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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