validator example json swagger swagger-ui jsonschema swagger-editor

example - Validando JSON contra el esquema de Swagger API



swagger yaml example (3)

Arnaud en los comentarios es correcto que hay dos preguntas separadas aquí.

¿Desea validar que su especificación es una especificación válida de OpenAPI (fka. Swagger)?

Usted puede

  • Copie su especificación en el editor de Swagger en línea y generará errores. Una inmersión rápida a través de la source no me dice qué está usando para crear esos errores, pero no parece estar contactando a un servidor para hacerlo ...
  • Utiliza el swagger-parser oficial para Java.
  • Use el swagger-parser no oficial de swagger-parser para JavaScript (navegador o nodo).

¿O validar que una implementación de esta especificación produciría JSON que sea válida con respecto a sus esquemas JSON?

En otras palabras, aquí hay algunos JSON de un cuerpo de solicitud o respuesta, ¿es correcto?

Swagger se basa en otro estándar llamado esquema JSON para sus objetos de esquema , que es lo que realmente describe el JSON (en lugar de los puntos finales o los metadatos). Swagger utiliza un subconjunto del esquema JSON (falta: oneOf , patternProperties , entre otros). Para ello, puede utilizar un validador de esquema JSON. Hay 37 enumerados aquí ; Daré una nota a este validador en línea que también admite los esquemas YAML.

Pero, cuando dije que Swagger se basa en un subconjunto de JSON API, mentí. Hay un puñado de campos fijos que tienen un significado especial en Swagger que no forma parte del esquema JSON. Uno de ellos es el discriminator que se utiliza para el polimorfismo. No tengo conocimiento de un validador de Swagger que pueda procesar el discriminator . Hay un buen número de herramientas para swagger y algunos pretenden hacer validaciones, pero muchas son software de abandono, destinadas a versiones antiguas, no están completas, están vinculadas a otras tecnologías, etc. Si hay una biblioteca madura y bien mantenida que me falta, me encantaría saberlo.

Creé una especificación de API a partir de algunos archivos JSON y estoy tratando de probar si los archivos se validan con la especificación de API.

Hay algunas buenas herramientas para validar contra el esquema JSON, pero no tuve la oportunidad de encontrar una herramienta para validar contra especificaciones creadas en Swagger (herramienta para crear un esquema API). La única solución que encontré es generar un cliente / servidor en Swagger-Editor, es bastante engorroso.

¿Ya existe una herramienta para validar JSON contra el esquema de Swagger?


El esquema OpenAPI 2.0 / Swagger está disponible en algunos lugares, es un poco difícil de encontrar debido al gran uso de la palabra ''esquema'' en swagger.

Por lo tanto, puede apuntar un validador genérico a este esquema y su documento. Por ejemplo, esto funciona muy bien para mí usando vscode y la extensión YAML de Red Hat.