Ir al contenido principal
Bethemesh

Validador OpenAPI y Swagger

Comprueba una descripción de API en JSON o YAML sin subirla a un servidor.

Pega o importa un documento JSON/YAML autónomo y valídalo. El informe muestra los errores y explica el alcance de las comprobaciones.

¿Te ha resultado útil esta herramienta?

¿Cómo funciona esta herramienta?

Una descripción OpenAPI sirve de contrato entre quienes desarrollan, documentan y consumen una API. Una sangría YAML incorrecta, un campo obligatorio ausente o una referencia sin resolver pueden impedir su uso. Este validador ayuda a localizar esos errores en JSON o YAML, directamente en tu navegador. Admite Swagger 2.0, OpenAPI 3.0.0–3.0.4 y OpenAPI 3.1.0–3.1.2, con el alcance indicado en el informe.

La comprobación empieza por la sintaxis: el texto debe poder interpretarse como un único documento JSON o YAML, sin claves duplicadas. Después se comprueban la versión y la estructura esperada, incluidas la información de la API y sus operaciones. Un archivo sintácticamente correcto puede incumplir el esquema OpenAPI de su versión.

Las referencias internas usan JSON Pointer, por ejemplo #/components/responses/Ok, para señalar ubicaciones del mismo documento. El validador comprueba su resolución y distingue las referencias reales de las claves $ref incluidas en los datos de un ejemplo. Rechaza las referencias a otros archivos o esquemas remotos; ningún resolutor los descarga.

Las comprobaciones adicionales cubren los operationId de rutas y webhooks, los parámetros de ruta y los tipos de palabras clave de los esquemas 3.1. Un resultado correcto sigue siendo parcial: no comprueba todas las restricciones semánticas, los formatos ni la validez de los ejemplos. Los dialectos personalizados, $id, anclas y referencias dinámicas se indican como no admitidos.

Una ruta de diagnóstico como /paths/~1health/get/responses señala el campo responses de GET /health: en JSON Pointer, ~1 representa una barra oblicua. Se muestra una línea cuando puede localizarse en el texto fuente. Empieza por la primera causa clara antes de abordar los diagnósticos secundarios del mismo objeto incompleto.

Cómo utilizar esta herramienta

  1. Aportar el documento

    Pega la descripción o importa un archivo JSON, YAML o YML. Agrupa antes las referencias repartidas entre varios archivos.

  2. Ejecutar las comprobaciones

    Pulsa Validar. El proceso se ejecuta en tu navegador y se detiene tras un máximo de diez segundos.

  3. Corregir las rutas indicadas

    Empieza por los errores de sintaxis, corrige los campos indicados y vuelve a validar.

Casos de uso

Revisar un contrato API

Comprueba un archivo antes de incorporarlo al repositorio o entregarlo a otro desarrollador.

Diagnosticar una exportación

Localiza errores de estructura en una descripción generada por un framework u otra herramienta.

Examinar una API privada

Revisa una descripción interna sin subir su contenido ni llamar a los endpoints.

Ejemplos

Un documento autónomo con una referencia interna

Pega este documento completo para describir GET /health. La respuesta 200 reutiliza el componente Ok del mismo archivo. Se comprueba un contrato documental; no se envía ninguna petición GET a un servidor.

Entrada

openapi: 3.1.0
info:
  title: Health API
  version: 1.0.0
paths:
  /health:
    get:
      responses:
        "200":
          $ref: "#/components/responses/Ok"
components:
  responses:
    Ok:
      description: OK

Resultado

Válida dentro del alcance comprobado
Operaciones HTTP declaradas: 1

Un campo obligatorio ausente

Este YAML se puede interpretar, pero falta info.version. Añade, por ejemplo, version: 1.0.0 dentro de info. Un objeto paths vacío no es, por sí solo, la causa del error. La línea indicada depende de la posición del campo en tu archivo.

Entrada

openapi: 3.1.0
info:
  title: Health API
paths: {}

Resultado

Descripción pendiente de corrección
Ruta: /info
Estructura no conforme con la especificación.
Detalle: required: version

Una referencia interna sin resolver

El documento conserva el componente Ok, pero la respuesta solicita Absent. Corrige el nombre de la referencia. Si lo sustituyes por una URL externa, el diagnóstico pasa a ser una referencia externa rechazada y no se carga el archivo remoto.

Entrada

openapi: 3.1.0
info:
  title: Health API
  version: 1.0.0
paths:
  /health:
    get:
      responses:
        "200":
          $ref: "#/components/responses/Absent"
components:
  responses:
    Ok:
      description: OK

Resultado

Descripción pendiente de corrección
Ruta: /paths/~1health/get/responses/200/$ref
Referencia interna no encontrada.

Consejos y buenas prácticas

  • info.version es la versión de tu API; openapi indica la versión del formato de descripción. No son intercambiables.
  • Una ruta /users/{id} debe declarar el parámetro id en la ruta o en la operación. Un parámetro de consulta llamado id no sustituye a uno de ruta.
  • Si tienes varios archivos, genera primero un documento autónomo con tu herramienta habitual de agrupación. El máximo es un millón de caracteres; también se limitan los alias YAML y la complejidad, con un tiempo máximo de diez segundos.

Fuentes y referencias

Preguntas frecuentes

¿Una validación correcta garantiza que funciona la API?

No. El validador comprueba parte de la descripción, no las respuestas del servidor, los permisos ni las reglas de negocio. No se llama a ningún endpoint. El informe explica los límites de las comprobaciones.

¿Cómo compruebo una descripción con varios archivos?

Agrúpala localmente en un documento autónomo con tus herramientas habituales. No se recuperan archivos enlazados.

¿Se admite OpenAPI 3.2?

Todavía no. Las versiones no compatibles se indican expresamente y no se confunden con errores de sintaxis.

¿Qué se comprueba?

Se verifica el documento con el esquema estructural de su versión. También se comprueban las referencias JSON Pointer internas, los tipos de palabras clave de los esquemas 3.1, los operationId de rutas y webhooks y los parámetros de ruta. No se comprueban todos los formatos, ejemplos, datos reales ni las demás restricciones semánticas.

Herramientas relacionadas

Herramientas similares o complementarias a esta.

Herramientas similares

Valida un documento JSON con un esquema y localiza cada error con precisión.

DesarrolloDestacadaUsar esta herramienta

Construye una solicitud API HTTP completa con método, URL, parámetros, encabezados y cuerpo.

DesarrolloUsar esta herramienta