FastAPI でクエリ パラメーターを使用してデータをフィルターする方法
はじめに:
FastAPI は、Python をベースとした最新の高速 (高性能) Web フレームワークです。使いやすく、パフォーマンスも非常に優れています。この記事では、クエリ パラメーターを使用して FastAPI でデータをフィルターし、データの柔軟なクエリを実現する方法を紹介します。
1. FastAPI アプリケーションを開始します
まず、以下に示すように、FastAPI アプリケーションを作成して開始する必要があります:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello, FastAPI!"}
上記のコードでは、FastAPI アプリケーションを作成しました。ルート ルート /
を定義します。ルート ルートにアクセスすると、「Hello, FastAPI!」という単純なメッセージを返すことができます。
2. データ フィルタリングにクエリ パラメータを使用する
FastAPI では、Query
型パラメータを使用してクエリ パラメータを受け取ることができます。以下は、データ フィルタリングにクエリ パラメーターを使用する方法を示す例です:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None)): if name: # 根据查询参数 name 进行数据筛选 result = db.query().filter(User.name == name).all() else: # 若没有查询参数,则返回所有的用户数据 result = db.query().all() return {"users": result}
上記のコードでは、/users/
のルートを定義します。このルートにアクセスすることで、次のことができます。ユーザーデータを取得します。このルートはクエリ パラメータ name
を受け入れます。これは、指定された名前でユーザー データをフィルタリングするために使用されます。クエリ パラメータ name
が存在する場合は、このパラメータをデータ フィルタリングに使用します。それ以外の場合は、すべてのユーザー データが返されます。
3. 複数のクエリ パラメーターを同時に使用する
実際のシナリオでは、同時に複数のクエリ パラメーターに基づいてデータをフィルターする必要がある場合があります。データ フィルタリングに複数のクエリ パラメータを同時に使用する方法を示す例を次に示します。
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None), age: int = Query(None)): query = db.query() if name: query = query.filter(User.name == name) if age: query = query.filter(User.age == age) result = query.all() return {"users": result}
上記のコードでは、/users/
のルートを定義し、2 つのクエリを受け入れます。パラメータ name
および age
。これら 2 つのクエリ パラメーターに基づいてデータを同時にフィルタリングし、より柔軟なクエリ操作を実現できます。
4. デフォルト値の使用と検証
FastAPI は、クエリ パラメーターのデフォルト値の設定と検証の実行もサポートしています。たとえば、age
クエリ パラメータのデフォルト値を 20
に設定し、age
の値の範囲を 10
に制限できます。 to ## Between #50:
from fastapi import FastAPI, Query app = FastAPI() @app.get("/users/") async def get_users(name: str = Query(None), age: int = Query(20, ge=10, le=50)): query = db.query() if name: query = query.filter(User.name == name) query = query.filter(User.age == age) result = query.all() return {"users": result}
age を指定します。クエリ パラメーターのデフォルト値は
20 であり、# を使用します。 ##ge
および le
パラメータは age
に対して検証されます。このように、リクエストで age
クエリ パラメータが指定されていない場合は、デフォルト値 20
が自動的に使用され、age
クエリ パラメータが指定されている場合は、デフォルト値 20
が自動的に使用されます。指定すると、値の範囲が検証されます。
結論:
上記のサンプル コードを通じて、FastAPI でのデータ フィルタリングにクエリ パラメーターを使用する方法を学びました。クエリ パラメーターを使用すると、アプリケーションに柔軟性が加わり、特定のニーズに応じてデータを自由にフィルターできるようになります。同時に、FastAPI は豊富な機能とオプションを提供し、クエリ パラメーターの使用をより強力かつ便利にします。この記事が FastAPI の学習と使用に役立つことを願っています。
以上がクエリ パラメーターを使用して FastAPI でデータをフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。