Validateur OpenAPI

Collez un document OpenAPI ou Swagger, en JSON ou YAML, et ce validateur vérifie sa structure de base. Il confirme que le document se parse, qu’il porte un champ de version openapi ou swagger, un objet info avec un titre et une version, ainsi qu’un objet paths, puis signale les chemins qui ne commencent pas par une barre oblique et les méthodes HTTP inconnues. C’est un contrôle de structure rapide, pas un validateur JSON Schema complet.

Comment se déroule la validation

  1. 1

    Collez le document

    JSON ou YAML, pour OpenAPI 2 (Swagger) ou OpenAPI 3.

  2. 2

    Parsez-le

    Le validateur parse le document en JSON et bascule sur le parsing YAML si cela échoue.

  3. 3

    Vérifiez les champs obligatoires

    Il confirme un champ de version `openapi` ou `swagger`, un objet `info` avec `title` et `version`, ainsi qu'un objet `paths`.

  4. 4

    Analysez les chemins

    Chaque chemin est vérifié pour une barre oblique initiale, et chaque clé d'opération est comparée aux méthodes HTTP connues.

  5. 5

    Lisez le rapport

    Les erreurs bloquent la validité ; les avertissements signalent les chemins sans barre oblique initiale et les méthodes inconnues.

Ce que vérifie ce validateur

Vérification Résultat en cas d’échec
Le document se parse en JSON ou YAML Erreur
Champ openapi ou swagger présent Erreur
Objet info présent Erreur
info.title présent Erreur
info.version présent Erreur
Objet paths présent Erreur
Chaque chemin commence par / Avertissement
Les clés d’opération sont des méthodes HTTP connues Avertissement

Un document qui franchit chaque erreur est signalé comme structurellement valide. Les avertissements ne bloquent pas la validité ; ils mettent en évidence ce qui mérite d’être corrigé.

Ce qu’il ne vérifie pas

Il s’agit d’un contrôle de structure, pas d’un validateur de spécification complet. Il ne :

  • valide pas chaque nœud par rapport au JSON Schema officiel de votre version ;
  • ne résout pas les références $ref ni ne confirme que les composants qu’elles désignent existent ;
  • ne vérifie pas que les paramètres de chemin sont déclarés et utilisés de façon cohérente ;
  • ne vérifie pas que les valeurs operationId existent ou sont uniques ;
  • ne signale pas les numéros de ligne des erreurs.

Pour cette profondeur, exécutez un validateur en ligne de commande dédié comme redocly lint, swagger-cli validate ou spectral lint. Utilisez cet outil pour une vérification rapide avant de valider (commit) ou de partager une spécification.

Les versions d’OpenAPI en pratique

Version Remarques
Swagger 2.0 Toujours largement déployée ; utilise swagger: "2.0"
OpenAPI 3.0.x La lignée 3.x la plus courante
OpenAPI 3.1.0 Aligné sur JSON Schema 2020-12

Ce validateur accepte le champ openapi (3.x) ou le champ swagger (2.0), donc tous passent le contrôle de version.

Un document minimal qui passe

openapi: 3.0.3
info:
  title: Example API
  version: 1.0.0
paths:
  /users:
    get:
      summary: List users

Chaque champ obligatoire est présent, l’unique chemin commence par une barre oblique, et get est une méthode connue, donc il est signalé comme structurellement valide.

Questions fréquentes

Swagger était le nom d’origine de la spécification, donnée à la Linux Foundation en 2015 et renommée « OpenAPI » à partir de la version 3.0. « Swagger » désigne désormais les outils (Swagger UI, Swagger Editor). La spécification elle-même est OpenAPI. Ce validateur accepte à la fois le champ de version swagger (2.0) et openapi (3.x).

Non. Il vérifie la structure de base : que le document se parse, qu’il porte un champ de version, un objet info avec un titre et une version et un objet paths, et il avertit des chemins sans barre oblique initiale et des méthodes inconnues. Il ne valide pas chaque nœud par rapport au JSON Schema officiel. Pour cela, utilisez redocly lint ou spectral lint.

Non. Il ne suit pas les références $ref et ne vérifie pas que les composants qu’elles désignent existent. Pour les références entre fichiers, regroupez d’abord le document avec un outil comme redocly bundle ou swagger-cli bundle, puis exécutez un validateur complet.

Non. Il n’inspecte que le document que vous collez, pas votre code en cours d’exécution. Il ne peut pas savoir si votre API renvoie réellement ce que décrit la spécification. Ce sont les outils de test de contrat comme Dredd ou Schemathesis qui le font.

Outils similaires

Outil disponible dans d’autres langues