Bluth
A lightweight promise-based library to validate payloads against a specified JSON Schema within your API Blueprint.
Why?
It encourages developers to utilise their API blueprint as a 'source of truth', creating synergy between documentation and source code. This ultimately improves quality and developer-experience for those using the API.
For example:
- Validate request bodies in your routing middleware
- Validate response bodies within tests
Installation
npm install bluth --save
Usage
Instantiation
var Bluth = ; /* * A default error schema can be provided to catch any * response status codes that aren't listed in the Blueprint */var bluth = myBlueprintMarkdown defaultErrorSchema: myDefaultErrorSchema ;
Finding a schema
bluth ;
Validating a payload
Uses jsonschema
's built in validation method.
bluth ;
Retrieving the Blueprint object
bluth ;
Why the name?
A pun on 'Blueprint' and 'source of truth', with Arrested Development references. I thought it was funny at the time.