๐ฏ Poin-Poin Utama Modul Ini:
- Argumen fungsi rute yang tidak berada di URL path otomatis diperlakukan sebagai Query Parameter
- Memberikan nilai default
limit: int = 10membuat parameter opsional - Dukungan filtering, pencarian, dan halaman data
๐ Parameter Kueri (Query Parameters)
Query parameters adalah pasangan key-value setelah tanda ? pada URL (misal: /posts?limit=5&search=fastapi).
๐ป Kode Filtering & Pagination dengan Query
main.py
from typing import Annotated
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items/")
def read_items(
skip: int = 0,
limit: int = 10,
q: Annotated[str | None, Query(min_length=3, max_length=50)] = None
):
results = {"items": [{"item_name": "Foo"}, {"item_name": "Bar"}]}
if q:
results.update({"query": q})
return results