This project shows a "valid swagger" badge on your site. There is an online version hosted on http://swagger.io. You can also pull a docker image of the validator directly from DockerHub.
You can validate any OpenAPI specification against the OpenAPI 2.0 Schema as follows:
<img src="http://online.swagger.io/validator?url={YOUR_URL}">
Of course the YOUR_URL
needs to be addressable by the validator (i.e. won't find anything on localhost). If it validates, you'll get a nice green VALID logo. Failures will give an INVALID logo, and if there are errors parsing the specification or reaching it, an ugly red ERROR logo.
For example, using https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v2.0/json/petstore-expanded.json as a source, we get ...
If your specification fails to validate for some reason, or if there is an error, you can get more information on why by visiting http://online.swagger.io/validator/debug?url={YOUR_URL}
.
Since the validator uses a browserless back-end to fetch the contents and schema, it's not subject to the terrible world of CORS.
You can build and run the validator locally:
mvn package jetty:run
And access the validator like such:
http://localhost:8002/?url={URL}
or
http://localhost:8002/?url=http://petstore.swagger.io/v2/swagger.json