OpenAPI/Swagger Specification Validator
Validate an OpenAPI/Swagger API specification against the OpenAPI
Specification using the swagger.io online
validator.
The validation performed by this module differs from the validation performed
by swagger-cli.
swagger-cli
uses
swagger-parser for
validation, which is a pure JavaScript implementation that can be used
offline. This module relies on the validator hosted at swagger.io which uses
Java-based parser and validator implementations. Therefore, it requires
Internet access to use and requires significantly less code to be installed as
a result.
Introductory Example
To use swagger-spec-validator
from the command line, simply invoke it with
the specification files to validate as arguments:
$ swagger-spec-validator swagger.yaml
If no arguments are given, the specification will be read from stdin
.
swagger-spec-validator
can be used as a library as follows:
const swaggerSpecValidator = require('swagger-spec-validator');
swaggerSpecValidator.validateFile('swagger.yaml')
.then((result) => {
if (Object.keys(result).length > 0) {
console.log('Invalid.');
} else {
console.log('Valid!');
}
})
.catch(err => console.error('Unable to validate: ' + err));
Installation
This package can be
installed using npm, either globally or locally, by
running:
npm install swagger-spec-validator
Recipes
More examples can be found in the test
specifications.
API Docs
To use this module as a library, see the API
Documentation.
Contributing
Contributions are welcome and very much appreciated! Please add tests to
cover any changes and ensure npm test
passes.
If the desired change is large, complex, backwards-incompatible, can have
significantly differing implementations, or may not be in scope for this
project, opening an issue before writing the code can avoid frustration and
save a lot of time and effort.
License
This package is available under the terms of the
MIT License.