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

PHPz
PHPzOriginal
2023-07-30 11:05:151433Durchsuche

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/ 的路由,并接受两个查询参数 nameage。我们可以同时根据这两个查询参数进行数据筛选,从而实现更加灵活的查询操作。

四、使用默认值和校验
FastAPI 还支持为查询参数设置默认值,并进行校验。例如,我们可以为 age 查询参数设置默认值为 20,并且限制 age 的取值范围在 1050 之间:

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,并使用 gele 参数对 age 进行了校验。这样,当请求中不指定 age 查询参数时,会自动使用默认值 20;而当指定 age

2. Abfrageparameter zur Datenfilterung verwenden

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

Im obigen Code definieren wir eine /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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn