iT邦幫忙

0

Day 04 - 條件篩選必備:查詢參數 (Query Parameters) 的靈活運用

  • 分享至 

  • xImage
  •  

前一天我們學會了如何透過網址路徑來鎖定單一資源,但如果是要列出一長串的資料,我們通常會需要做分頁或條件篩選。這時候,網址後面跟著問號「?」的寫法就派上用場了,例如 /items?skip=0&limit=10,這在 API 開發中稱為「查詢參數」。

在 FastAPI 裡,設定查詢參數非常簡單。只要你的函式參數沒有出現在 @app.get 的路徑字串中,FastAPI 就會自動將它視為查詢參數。

請在你的 main.py 加入以下內容:

from fastapi import FastAPI

app = FastAPI()

fake_items_db = [{"item_name": "蘋果"}, {"item_name": "香蕉"}, {"item_name": "橘子"}]

@app.get("/items/")
def read_item(skip: int = 0, limit: int = 10):
return fake_items_db[skip : skip + limit]

在這裡,skip 和 limit 都給了預設值(0 和 10)。

如果你只呼叫 http://127.0.0.1:8000/items/,它們的值就是預設的 0 和 10,會回傳完整的清單。

如果你呼叫 http://127.0.0.1:8000/items/?skip=1&limit=1,FastAPI 會自動擷取你網址上傳入的值,回傳 [{"item_name": "香蕉"}]。

你可以輕鬆地將「路徑參數」與「查詢參數」寫在同一個函式裡,FastAPI 非常聰明,會精準地幫你分類好,完全不用手動解析 URL。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言