首頁  >  文章  >  後端開發  >  如何在FastAPI中使用查詢參數進行篩選數據

如何在FastAPI中使用查詢參數進行篩選數據

PHPz
PHPz原創
2023-07-30 11:05:151383瀏覽

如何在FastAPI中使用查詢參數進行篩選資料

引言:
FastAPI 是一個基於 Python 的現代、快速(高效能)的 Web 框架。它簡單易用,同時性能也非常出色。本文將介紹如何在 FastAPI 中使用查詢參數進行資料篩選,以實現對資料的靈活查詢。

一、啟動FastAPI 應用程式
首先,我們需要建立一個FastAPI 的應用,並啟動它,如下所示:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello, FastAPI!"}

在上述程式碼中,我們建立了一個FastAPI 的應用,並定義了一個根路由/,透過存取根路由,可以傳回一條簡單的訊息「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,並使用ge le 參數對age 進行了校驗。這樣,當請求中不指定age 查詢參數時,會自動使用預設值20;而當指定age 查詢參數時,會進行取值範圍的校驗。

結論:
透過上述範例程式碼,我們了解如何在 FastAPI 中使用查詢參數進行資料篩選。使用查詢參數能夠為我們的應用增加靈活性,使得我們能夠根據具體需求自由地篩選資料。同時,FastAPI 提供了豐富的功能和選項,讓查詢參數的使用更加強大和便利。希望這篇文章能對你學習和使用 FastAPI 有所幫助。

以上是如何在FastAPI中使用查詢參數進行篩選數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn