'How to validate openapi 3.0.0 yaml spec?

I have a yaml specification that has been updated from swagger 2.0 to openapi 3.0.0.

The file itself is about 7,000 lines so it is challenging to validate by hand.

I need to figure out which tags I have are no longer compatible with openapi 3.0.0. How can I validate my schema? Are there any command line tools I can use?

I do not want to copy/paste this code somewhere online because I don't want to expose all the routes publicly.



Solution 1:[1]

Swagger Editor

https://editor.swagger.io performs validation on the client side, meaning your definition is not sent anywhere. You can also run the editor locally, e.g. offline.

Notes:

  • Because of lazy loading you may need to expand all operations and models in the UI panel to see all of the errors.

  • Warnings are displayed as gutter icons, apart from the error list.

Other validators

https://openapi.tools has a list of OpenAPI validation tools, including command-line tools and Node.js modules.

Solution 2:[2]

Use openapi-lint extension on visual studio code and remember to name your file as *openapi.json, *openapi.yaml, *openapi.yml, *oas3.json, *oas3.yml, *oas3yaml.

Solution 3:[3]

I use swagger-cli. It's a validator and bundler that supports $ref among other things.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Helen
Solution 2 Klement Tan
Solution 3 Devy