La section components
💡 Sujet
La section components sert de bibliothèque pour stocker des objets réutilisables. Cela permet de garder le fichier propre, d'éviter les répétitions et de garantir la cohérence des modèles de données.
⚙️ Exemple de composants
On y définit principalement des schémas (schemas), mais aussi des paramètres ou des réponses.
components:
schemas:
User:
type: object
properties:
id:
type: integer
email:
type: string
format: email
Error:
type: object
properties:
code:
type: integer
message:
type: string
responses:
NotFound:
description: La ressource demandée est introuvable.🔄 Utilisation avec $ref
Pour utiliser un composant défini, on utilise la syntaxe $ref :
responses:
'404':
$ref: '#/components/responses/NotFound'🧩 Résumé
- DRY (Don't Repeat Yourself) : Centralise les définitions complexes.
- Réutilisation : Un même modèle
Userpeut servir pour un GET, un POST ou un PUT. - Maintenance : Modifier un schéma ici le met à jour partout dans le fichier.