@app.get() este o componentă esențială în ecosistemul FastAPI. Definirea rutelor HTTP GET cu răspuns asincron sau sincron și specificarea schemei de răspuns response_model.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
@app.get("/articole/{slug}", response_model=ArticolResponse)
async def obtine_articol(slug: str):
articol = await db.gaseste_dupa_slug(slug)
if not articol:
raise HTTPException(status_code=404, detail="Articolul nu exista")
return articol
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.