Date de sortie : 17 septembre 2024
Release officielle : FastAPI 0.115.0
La release majeure de l’automne 2024. FastAPI permet désormais d’utiliser des modèles Pydantic pour Query, Header et Cookie, un manque historique du framework quand on avait beaucoup de paramètres à valider ensemble.
Les nouveautés principales
Modèles Pydantic pour Query
Plus besoin de lister chaque paramètre de query string à la main, ni de passer par un bricolage :
from typing import Annotated
from fastapi import FastAPI, Query
from pydantic import BaseModel
app = FastAPI()
class FilterParams(BaseModel):
limit: int = 100
offset: int = 0
order_by: str = "created_at"
@app.get("/items/")
async def list_items(filters: Annotated[FilterParams, Query()]):
return filters
La documentation OpenAPI générée liste chaque champ du modèle comme un paramètre de query distinct, avec validation.
Modèles pour Header et Cookie
Même principe pour les headers et les cookies :
class CommonHeaders(BaseModel):
user_agent: str
accept_language: str | None = None
x_request_id: str | None = None
@app.get("/items/")
async def list_items(headers: Annotated[CommonHeaders, Header()]):
return headers
Pratique pour factoriser les headers communs à plusieurs endpoints.
Interdire les paramètres supplémentaires
Avec model_config = {"extra": "forbid"} sur le modèle Pydantic, FastAPI rejette les requêtes qui envoient des paramètres non déclarés :
class StrictFilters(BaseModel):
model_config = {"extra": "forbid"}
limit: int = 100
offset: int = 0
# GET /items/?limit=10&random=foo
# → 422 Unprocessable Entity : extra field not permitted
Utile pour les APIs publiques où on veut détecter les typos côté client au lieu de les ignorer silencieusement.
Échanger avec un expert FastAPI
Nous revenons vers vous sous 24h.
Chez Makersquad, nous concevons des API performantes et évolutives avec FastAPI, un framework reconnu pour sa rapidité, son typage natif et sa documentation automatique basée sur OpenAPI. Que ce soit pour des microservices ou des projets orientés data et IA, FastAPI permet de développer des services robustes tout en garantissant un excellent niveau de performance. Que vous lanciez un nouveau projet ou souhaitiez moderniser votre backend, notre équipe vous accompagne pour construire des API rapides, fiables et prêtes à scaler.
À retenir
Un ajout attendu depuis longtemps. Si vous aviez des endpoints avec beaucoup de paramètres de query, la lisibilité s’améliore nettement. Combiné à extra: forbid, c’est aussi un outil pour durcir la validation des entrées sans effort.