Query() este o componentă esențială în ecosistemul FastAPI. Declararea și validarea parametrilor din query string cu suport pentru liste, valori implicite și limite.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
from fastapi import Query
@app.get("/filtrare")
async def filtreaza_date(
q: str | None = Query(default=None, min_length=3, max_length=50),
sort: str = Query(default="desc", regex="^(asc|desc)$")
):
return {"q": q, "sort": sort}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.