Se rendre au contenu

FastAPI 0.115 est sorti

17 septembre 2024 par
FastAPI 0.115 est sorti
Makersquad

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.

FastAPI 0.110 est sorti