Începând cu versiunile recente, FastAPI recomandă utilizarea tipului standard typing.Annotated (introdus în Python 3.9 prin PEP 593) pentru declararea tuturor dependențelor și validărilor.
Avantaje majore:
- Separă clar tipul Python al variabilei (de exemplu
intsaustr) de metadatele FastAPI (cum ar fiQuery(),Depends()sauHeader()). - Permite atribuirea de valori implicite reale în Python (
= None) fără a folosi trucuri de framework. - Permite reutilizarea tipurilor compuse personalizate (Type Aliases) în multiple endpoint-uri.
Exemplu: Definirea de Type Aliases reutilizabile cu Annotated
from fastapi import FastAPI, Query
from typing import Annotated
app = FastAPI()
# Definim un alias reutilizabil pentru parametrii de căutare:
SearchQuery = Annotated[
str | None,
Query(min_length=3, max_length=50, description="Termen de căutare de minim 3 caractere")
]
@app.get("/articles")
async def search_articles(q: SearchQuery = None):
return {"query": q}
@app.get("/users")
async def search_users(q: SearchQuery = None):
return {"query": q}
Întrebări & Exemple de Cod:
Tipurile Annotated în FastAPI ModernAi o nelămurire despre utilizarea comenzii
Tipurile Annotated în FastAPI Modernsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.