Validador de OpenAPI

Pega un documento OpenAPI o Swagger, en JSON o YAML, y este validador comprueba su estructura básica. Confirma que el documento se analiza, que tiene un campo de versión openapi o swagger, un objeto info con título y versión y un objeto paths, y luego marca las rutas que no empiezan por barra y los métodos HTTP desconocidos. Es una comprobación de estructura rápida, no un validador de JSON Schema completo.

Cómo se ejecuta la validación

  1. 1

    Pega el documento

    JSON o YAML, para OpenAPI 2 (Swagger) o OpenAPI 3.

  2. 2

    Analízalo

    El validador analiza el documento como JSON y recurre al análisis YAML si eso falla.

  3. 3

    Comprueba los campos obligatorios

    Confirma un campo de versión `openapi` o `swagger`, un objeto `info` con `title` y `version` y un objeto `paths`.

  4. 4

    Escanea las rutas

    Cada ruta se comprueba en busca de una barra inicial, y cada clave de operación se contrasta con los métodos HTTP conocidos.

  5. 5

    Lee el informe

    Los errores bloquean la validez; las advertencias señalan las rutas sin barra inicial y los métodos desconocidos.

Qué comprueba este validador

Comprobación Resultado si falla
El documento se analiza como JSON o YAML Error
Existe el campo openapi o swagger Error
Existe el objeto info Error
Existe info.title Error
Existe info.version Error
Existe el objeto paths Error
Cada ruta empieza por / Advertencia
Las claves de operación son métodos HTTP conocidos Advertencia

Un documento que supera todos los errores se informa como estructuralmente válido. Las advertencias no bloquean la validez; señalan aspectos que conviene corregir.

Qué no comprueba

Esto es una comprobación de estructura, no un validador de especificación completo. No:

  • valida cada nodo contra el JSON Schema oficial de tu versión;
  • resuelve las referencias $ref ni confirma que existan los componentes a los que apuntan;
  • comprueba que los parámetros de ruta se declaren y usen de forma coherente;
  • verifica que los valores de operationId existan o sean únicos;
  • informa de los números de línea de los errores.

Para esa profundidad, ejecuta un validador de CLI dedicado como redocly lint, swagger-cli validate o spectral lint. Usa esta herramienta para una comprobación rápida antes de confirmar (commit) o compartir una especificación.

Versiones de OpenAPI en la práctica

Versión Notas
Swagger 2.0 Todavía muy desplegada; usa swagger: "2.0"
OpenAPI 3.0.x La línea 3.x más común
OpenAPI 3.1.0 Alineada con JSON Schema 2020-12

Este validador acepta el campo openapi (3.x) o el campo swagger (2.0), así que todas ellas superan la comprobación de versión.

Un documento mínimo que pasa

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

Todos los campos obligatorios están presentes, la única ruta empieza por barra y get es un método conocido, así que se informa como estructuralmente válido.

Preguntas frecuentes

Swagger fue el nombre original de la especificación, donada a la Linux Foundation en 2015 y renombrada como “OpenAPI” a partir de la versión 3.0. “Swagger” ahora hace referencia a las herramientas (Swagger UI, Swagger Editor). La especificación en sí es OpenAPI. Este validador acepta tanto el campo de versión swagger (2.0) como openapi (3.x).

No. Comprueba la estructura básica: que el documento se analiza, que tiene un campo de versión, un objeto info con título y versión y un objeto paths, y advierte sobre rutas sin barra inicial y métodos desconocidos. No valida cada nodo contra el JSON Schema oficial. Para eso usa redocly lint o spectral lint.

No. No sigue las referencias $ref ni comprueba que existan los componentes a los que apuntan. Para las referencias entre archivos, empaqueta primero el documento con una herramienta como redocly bundle o swagger-cli bundle, y luego ejecuta un validador completo.

No. Solo inspecciona el documento que pegas, no tu código en ejecución. No puede saber si tu API devuelve realmente lo que describe la especificación. Eso lo hacen las herramientas de pruebas de contrato como Dredd o Schemathesis.

Herramientas relacionadas

Herramienta disponible en otros idiomas