fastapi/docs/fr/docs/tutorial/metadata.md

6.7 KiB
Raw Blame History

Métadonnées et URL des documents

Vous pouvez personnaliser plusieurs configurations de métadonnées dans votre application FastAPI.

Métadonnées pour l'API

Vous pouvez définir les champs suivants qui sont utilisés dans la spécification OpenAPI et les interfaces utilisateur de documentation automatique de lAPI :

Paramètre Type Description
title str Le titre de lAPI.
summary str Un court résumé de lAPI. Disponible depuis OpenAPI 3.1.0, FastAPI 0.99.0.
description str Une brève description de lAPI. Elle peut utiliser Markdown.
version string La version de lAPI. Cest la version de votre propre application, pas dOpenAPI. Par exemple 2.5.0.
terms_of_service str Une URL vers les Conditions dutilisation de lAPI. Le cas échéant, il doit sagir dune URL.
contact dict Les informations de contact pour lAPI exposée. Cela peut contenir plusieurs champs.
champs de contact
ParamètreTypeDescription
namestrLe nom identifiant de la personne/organisation de contact.
urlstrLURL pointant vers les informations de contact. DOIT être au format dune URL.
emailstrLadresse e-mail de la personne/organisation de contact. DOIT être au format dune adresse e-mail.
license_info dict Les informations de licence pour lAPI exposée. Cela peut contenir plusieurs champs.
champs de license_info
ParamètreTypeDescription
namestrOBLIGATOIRE (si un license_info est défini). Le nom de la licence utilisée pour lAPI.
identifierstrUne expression de licence SPDX pour lAPI. Le champ identifier est mutuellement exclusif du champ url. Disponible depuis OpenAPI 3.1.0, FastAPI 0.99.0.
urlstrUne URL vers la licence utilisée pour lAPI. DOIT être au format dune URL.

Vous pouvez les définir comme suit :

{* ../../docs_src/metadata/tutorial001_py310.py hl[3:16, 19:32] *}

/// tip | Astuce

Vous pouvez écrire du Markdown dans le champ description et il sera rendu dans la sortie.

///

Avec cette configuration, les documents API automatiques ressembleraient à :

Identifiant de licence

Depuis OpenAPI 3.1.0 et FastAPI 0.99.0, vous pouvez également définir license_info avec un identifier au lieu dune url.

Par exemple :

{* ../../docs_src/metadata/tutorial001_1_py310.py hl[31] *}

Métadonnées pour les tags

Vous pouvez également ajouter des métadonnées supplémentaires pour les différents tags utilisés pour regrouper vos chemins d'accès avec le paramètre openapi_tags.

Il prend une liste contenant un dictionnaire pour chaque tag.

Chaque dictionnaire peut contenir :

  • name (requis) : un str avec le même nom de tag que vous utilisez dans le paramètre tags de vos chemins d'accès et APIRouters.
  • description : un str avec une courte description pour le tag. Il peut contenir du Markdown et sera affiché dans linterface utilisateur de la documentation.
  • externalDocs : un dict décrivant une documentation externe avec :
    • description : un str avec une courte description pour la documentation externe.
    • url (requis) : un str avec lURL de la documentation externe.

Créer des métadonnées pour les tags

Essayons cela avec un exemple de tags pour users et items.

Créez des métadonnées pour vos tags et transmettez-les au paramètre openapi_tags :

{* ../../docs_src/metadata/tutorial004_py310.py hl[3:16,18] *}

Notez que vous pouvez utiliser Markdown à lintérieur des descriptions, par exemple « login » sera affiché en gras (login) et « fancy » sera affiché en italique (fancy).

/// tip | Astuce

Vous navez pas à ajouter des métadonnées pour tous les tags que vous utilisez.

///

Utiliser vos tags

Utilisez le paramètre tags avec vos chemins d'accès (et APIRouters) pour les affecter à différents tags :

{* ../../docs_src/metadata/tutorial004_py310.py hl[21,26] *}

/// info

En savoir plus sur les tags dans Configuration de chemins d'accès{.internal-link target=_blank}.

///

Consultez les documents

Désormais, si vous consultez les documents, ils afficheront toutes les métadonnées supplémentaires :

Définir lordre des tags

Lordre de chaque dictionnaire de métadonnées de tag définit également lordre affiché dans linterface utilisateur de la documentation.

Par exemple, même si users viendrait après items par ordre alphabétique, il est affiché avant, car nous avons ajouté ses métadonnées comme premier dictionnaire de la liste.

URL OpenAPI

Par défaut, le schéma OpenAPI est servi à /openapi.json.

Mais vous pouvez le configurer avec le paramètre openapi_url.

Par exemple, pour quil soit servi à /api/v1/openapi.json :

{* ../../docs_src/metadata/tutorial002_py310.py hl[3] *}

Si vous souhaitez désactiver complètement le schéma OpenAPI, vous pouvez définir openapi_url=None, cela désactivera également les interfaces utilisateur de la documentation qui lutilisent.

URL des documents

Vous pouvez configurer les deux interfaces utilisateur de documentation incluses :

  • Swagger UI : servie à /docs.
    • Vous pouvez définir son URL avec le paramètre docs_url.
    • Vous pouvez la désactiver en définissant docs_url=None.
  • ReDoc : servie à /redoc.
    • Vous pouvez définir son URL avec le paramètre redoc_url.
    • Vous pouvez la désactiver en définissant redoc_url=None.

Par exemple, pour que Swagger UI soit servi à /documentation et désactiver ReDoc :

{* ../../docs_src/metadata/tutorial003_py310.py hl[3] *}