Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Abfrageparameter zum Filtern von Daten in FastAPI
So verwenden Sie Abfrageparameter zum Filtern von Daten in FastAPI
Einführung:
FastAPI ist ein modernes, schnelles (hochleistungsfähiges) Webframework auf Basis von Python. Es ist einfach zu bedienen und bietet eine sehr gute Leistung. In diesem Artikel wird erläutert, wie Abfrageparameter für die Datenfilterung in FastAPI verwendet werden, um eine flexible Datenabfrage zu erreichen.
1. Starten Sie die FastAPI-Anwendung
Zuerst müssen wir eine FastAPI-Anwendung erstellen und starten, wie unten gezeigt:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello, FastAPI!"}
Im obigen Code haben wir eine FastAPI-Anwendung erstellt und eine Root-Route definiert / Code>, durch Zugriff auf die Root-Route kann eine einfache Nachricht „Hallo, FastAPI!“ zurückgegeben werden. <code>/
,通过访问根路由,可以返回一条简单的消息“Hello, FastAPI!”。
二、使用查询参数进行数据筛选
在 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
存在,我们就使用该参数进行数据筛选;否则,返回所有的用户数据。
三、多个查询参数同时使用
在实际场景中,我们可能需要同时根据多个查询参数进行数据筛选。下面是一个示例,演示如何同时使用多个查询参数进行数据筛选:
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/
的路由,并接受两个查询参数 name
和 age
。我们可以同时根据这两个查询参数进行数据筛选,从而实现更加灵活的查询操作。
四、使用默认值和校验
FastAPI 还支持为查询参数设置默认值,并进行校验。例如,我们可以为 age
查询参数设置默认值为 20
,并且限制 age
的取值范围在 10
到 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
In FastAPI können wir Parameter vom Typ Query
verwenden, um Abfrageparameter zu empfangen. Das Folgende ist ein Beispiel, das zeigt, wie Abfrageparameter für die Datenfilterung verwendet werden:
rrreee
/users/
-Route. Durch Zugriff auf diese Route können Benutzerdaten abgerufen werden. Diese Route akzeptiert einen Abfrageparameter name
, der zum Filtern von Benutzerdaten mit dem angegebenen Namen verwendet wird. Wenn der Abfrageparameter name
vorhanden ist, verwenden wir diesen Parameter zur Datenfilterung; andernfalls werden alle Benutzerdaten zurückgegeben. 🎜🎜3. Mehrere Abfrageparameter gleichzeitig verwenden🎜In tatsächlichen Szenarien müssen wir möglicherweise Daten basierend auf mehreren Abfrageparametern gleichzeitig filtern. Hier ist ein Beispiel, das zeigt, wie mehrere Abfrageparameter gleichzeitig zur Datenfilterung verwendet werden: 🎜rrreee🎜 Im obigen Code definieren wir eine Route zu /users/
und akzeptieren zwei Abfrageparameter Name
und Alter
. Wir können Daten gleichzeitig basierend auf diesen beiden Abfrageparametern filtern, um flexiblere Abfragevorgänge zu erreichen. 🎜🎜4. Standardwerte und Überprüfung verwenden🎜FastAPI unterstützt auch das Festlegen von Standardwerten für Abfrageparameter und die Durchführung der Überprüfung. Beispielsweise können wir den Standardwert für den Abfrageparameter age
auf 20
festlegen und den Wertebereich von age
auf 10 beschränken
zwischen 50
: 🎜rrreee🎜Im obigen Code geben wir den Standardwert des Abfrageparameters age
als 20
an und verwenden ihn ge und le
überprüfen age
. Wenn der Abfrageparameter age
nicht in der Anfrage angegeben ist, wird auf diese Weise automatisch der Standardwert 20
verwendet Wenn der Abfrageparameter angegeben ist, wird der Standardwert verwendet. Validierung des Wertebereichs. 🎜🎜Fazit: 🎜Durch den obigen Beispielcode haben wir gelernt, wie man Abfrageparameter für die Datenfilterung in FastAPI verwendet. Die Verwendung von Abfrageparametern kann die Flexibilität unserer Anwendungen erhöhen und es uns ermöglichen, Daten frei nach spezifischen Anforderungen zu filtern. Gleichzeitig bietet FastAPI eine Fülle von Funktionen und Optionen, die die Verwendung von Abfrageparametern leistungsfähiger und komfortabler machen. Ich hoffe, dieser Artikel kann Ihnen beim Erlernen und Verwenden von FastAPI helfen. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie Abfrageparameter zum Filtern von Daten in FastAPI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!