Slightly opinionated view on JsonSchema API validation.
json-api-validator
But not limited.
Let's say there is folder structure of json schemas.
api +
\schemas +
\request +
| \pathA
| get.json
| post.json
| put.json
| +
| \subpathA
| get.json
| .... etc ....
\response +
\pathA
get.json
post.json
put.json
+
\subpathA
get.json
.... etc ....
This will be possible setup for validator.
api/validator.js
var validator = require('api-validator')({
// from cwd
base: './schemas'
})
// ... and later in the code
var result = validator(jsonToValidate, 'response/pashA/get.json')
// ... do something based on result
See tests for better examples.
This module is a wrapper over the tv4 JsonSchema validator. The result returned from the call is direct pipeline from tv4.validateMultiple
method.
There is options you can pass for initiation:
-
base
root folder from which schemas will be searched up, default tocwd
. -
globPattern
the pattern used to search schemas, default to/**/*
. -
formats
hash of the custom formats fortv4.addFormat
multiple form.
As of now the all schemas are loaded in the memory, no matter will they be used or not. The lazy loading are considerably on the road map.