Vue d'ensemble
FastAPI 0.100, publié le 8 juillet 2023, ajoute le support complet de Pydantic v2 tout en maintenant la compatibilité avec v1.
Fonctionnalités principales
Support de Pydantic v2
FastAPI tire parti des performances de Pydantic v2 pour la validation des requêtes et la sérialisation des réponses, avec des gains significatifs.
python
from fastapi import FastAPI
from pydantic import BaseModel, field_validator
app = FastAPI()
class Article(BaseModel):
titre: str
prix: float
@field_validator('prix')
@classmethod
def prix_positif(cls, v):
if v <= 0:
raise ValueError('Prix positif requis')
return v
@app.post('/articles')
async def creer_article(article: Article):
return article.model_dump()
Compatibilité v1/v2
FastAPI 0.100 supporte les deux versions de Pydantic simultanément, facilitant la migration progressive des applications existantes.
python
from fastapi import FastAPI, Query
app = FastAPI()
@app.get('/recherche')
async def rechercher(
q: str = Query(min_length=3, max_length=50),
page: int = Query(default=1, ge=1),
taille: int = Query(default=10, le=100),
):
return {'q': q, 'page': page, 'taille': taille}
