Files
fastapi/docs/fr/docs/tutorial/header-param-models.md
Motov Yurii 7dc1be8b88 🌐 Update translations for fr (update-all and add-missing) (#14920)
* Update all

* Add missing

* 🎨 Auto format

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-14 09:12:41 +01:00

3.0 KiB

Modèles de paramètres d'en-tête

Si vous avez un groupe de paramètres d'en-tête liés, vous pouvez créer un modèle Pydantic pour les déclarer.

Cela vous permet de réutiliser le modèle à plusieurs endroits et aussi de déclarer des validations et des métadonnées pour tous les paramètres en une seule fois. 😎

/// note | Remarque

Cela est pris en charge depuis la version 0.115.0 de FastAPI. 🤓

///

Paramètres d'en-tête avec un modèle Pydantic

Déclarez les paramètres d'en-tête dont vous avez besoin dans un modèle Pydantic, puis déclarez le paramètre comme Header :

{* ../../docs_src/header_param_models/tutorial001_an_py310.py hl[9:14,18] *}

FastAPI extrait les données de chaque champ depuis les en-têtes de la requête et vous fournit le modèle Pydantic que vous avez défini.

Consulter la documentation

Vous pouvez voir les en-têtes requis dans l'interface de la documentation à /docs :

Interdire les en-têtes supplémentaires

Dans certains cas d'utilisation particuliers (probablement pas très courants), vous pourriez vouloir restreindre les en-têtes que vous souhaitez recevoir.

Vous pouvez utiliser la configuration du modèle de Pydantic pour forbid tout champ extra :

{* ../../docs_src/header_param_models/tutorial002_an_py310.py hl[10] *}

Si un client essaie d'envoyer des en-têtes supplémentaires, il recevra une réponse d'erreur.

Par exemple, si le client essaie d'envoyer un en-tête tool avec la valeur plumbus, il recevra une réponse d'erreur lui indiquant que le paramètre d'en-tête tool n'est pas autorisé :

{
    "detail": [
        {
            "type": "extra_forbidden",
            "loc": ["header", "tool"],
            "msg": "Extra inputs are not permitted",
            "input": "plumbus",
        }
    ]
}

Désactiver convert_underscores

Comme pour les paramètres d'en-tête classiques, lorsque vous avez des caractères de soulignement dans les noms de paramètres, ils sont automatiquement convertis en tirets.

Par exemple, si vous avez un paramètre d'en-tête save_data dans le code, l'en-tête HTTP attendu sera save-data, et il apparaîtra ainsi dans la documentation.

Si, pour une raison quelconque, vous devez désactiver cette conversion automatique, vous pouvez aussi le faire pour les modèles Pydantic de paramètres d'en-tête.

{* ../../docs_src/header_param_models/tutorial003_an_py310.py hl[19] *}

/// warning | Alertes

Avant de définir convert_underscores à False, gardez à l'esprit que certains proxys et serveurs HTTP interdisent l'utilisation d'en-têtes contenant des underscores.

///

Résumé

Vous pouvez utiliser des modèles Pydantic pour déclarer des en-têtes dans FastAPI. 😎