FastAPI et Pydantic V2
FastAPI 0.100+, publié en juillet 2023, adopte Pydantic V2 par défaut. Les modèles de requête et de réponse bénéficient du cœur Rust pour une validation jusqu'à 50× plus rapide. La migration est généralement transparente pour les cas simples.
Adaptation du code
python
from fastapi import FastAPI
from pydantic import BaseModel, ConfigDict
app = FastAPI()
# Pydantic V2 dans FastAPI
class Item(BaseModel):
model_config = ConfigDict(from_attributes=True)
name: str
price: float
in_stock: bool = True
@app.post('/items/')
async def create_item(item: Item) -> Item:
return item
# model_validate remplace parse_obj
item = Item.model_validate({'name': 'Widget', 'price': 9.99})
# model_dump remplace dict()
print(item.model_dump()) # {'name': 'Widget', ...}
