Validateur OpenAPI YAML

Collez votre openapi.yaml et le validateur contrôle les éléments que toute spec doit avoir : un champ de version, un objet info avec un titre et une version, et un objet paths. Il signale aussi les clés de chemin sans barre oblique initiale et les clés d’opération qu’il ne reconnaît pas.

Comment valider un fichier YAML OpenAPI

  1. 1

    Copiez le YAML

    Copiez le contenu complet de votre `openapi.yaml` ou `swagger.yaml`, en conservant l'indentation exactement telle quelle.

  2. 2

    Collez dans le champ

    Collez-le dans la zone du document OpenAPI / Swagger. En YAML, l'indentation fait partie de la structure : ne la retapez pas et ne la reformatez pas.

  3. 3

    Lancez la validation

    Passez à l'étape des résultats et lisez les erreurs et les avertissements.

  4. 4

    Corrigez et vérifiez à nouveau

    Corrigez chaque élément signalé dans votre fichier, collez la nouvelle version et relancez.

Pourquoi l’indentation change le résultat

En YAML, l’imbrication des clés détermine à quel objet appartient chaque champ. Si version est au même niveau que info au lieu d’un niveau en dessous, le document reste du YAML lisible, mais info.version est absent et le contrôle le signale. Il en va de même pour paths : une clé de chemin indentée par erreur sous info fait disparaître l’objet paths de premier niveau.

Utilisez des espaces, pas des tabulations, et gardez un pas constant, par exemple deux espaces par niveau.

Un exemple concret

openapi: 3.0.3
info:
  title: Pets API
paths:
  /pets:
    get:
      summary: List pets

Le champ de version, info.title et paths sont présents, et /pets commence par une barre oblique avec get comme méthode connue. Il manque une chose : info.version. Le rapport liste :

Constat Type
info.version est obligatoire. Erreur

Ajoutez version: 1.0.0 sous info, indenté de deux espaces, et le document est jugé structurellement valide.

Gardez des documents simples pour une lecture fiable

Le contrôle lit au mieux les mappages YAML ordinaires : des lignes clé: valeur simples, imbriquées avec une indentation cohérente. Si un document utilisant des fonctionnalités YAML avancées, comme les ancres ou les blocs multilignes, est jugé illisible ou affiche des champs manquants, essayez une copie JSON de la même spec pour savoir si le problème vient du contenu ou de la syntaxe YAML.

Un résultat propre ne confirme que l’ossature. Il ne résout pas les liens $ref et ne contrôle pas les schémas.

Un flux de travail pratique pour les specs YAML

Modifiez par petites étapes et vérifiez souvent. Après l’ajout d’un chemin ou le déplacement d’un bloc, collez de nouveau le fichier pour repérer une mauvaise indentation pendant que la modification est encore fraîche. Lorsque vous répartissez une grande spec sur plusieurs fichiers, collez la version combinée, car ce contrôle ne lit que le texte fourni et ne charge pas les autres fichiers. Copiez depuis votre éditeur et non depuis une page rendue, car les pages web peuvent remplacer les espaces et les guillemets par des caractères qui se ressemblent mais modifient la lecture du YAML.

Enfin, rappelez-vous que le rapport ne couvre que ce que le contrôle peut voir. Un résultat propre sur un fichier YAML signifie que l’ossature de premier niveau est correcte, pas que chaque opération, chaque schéma ou chaque référence qu’il contient l’est.

Questions fréquentes

Des espaces. Le YAML n’accepte pas les tabulations pour l’indentation, et une tabulation peut rendre le document illisible ou placer les champs au mauvais niveau.

En général, le champ est indenté au mauvais niveau, donc il appartient à un autre objet que prévu. Comparez son indentation à celle de la clé parente.

Ce contrôle vérifie seulement la présence du champ openapi ou swagger, pas sa valeur : les versions avec ou sans guillemets passent. Mettre "2.0" entre guillemets pour Swagger reste une bonne habitude.

Oui. Le document est lu d’abord comme JSON, puis comme YAML en cas d’échec : les deux formats fonctionnent donc dans le même champ.

Outils similaires

Outil disponible dans d’autres langues

Guides et cas d'usage