Uses schema for:
- Validating API-methods parameter and result
- Generating API documentation (Warning: not implemented yet)
Features
- Schema: Joi (could be converted to JSON-Schema over joi-to-json-schema)
- API-call parameter validation
- API-call result validation
- Errors:
- All valid API errors extracted to one place
- True type errors (inherits Error and ApiError)
- Contains statusCode
- Default error properties specification
- Custom error parameters
- api-master API:
- Chaining for synchronous api.* methods
- Potentially asynchronous api.call() returns promise
Installation
npm install api-master --save
Run tests
npm install -g gulp
cd node_modules/api-master/
gulp test
Usage example
See example sources in node_modules/api-master/test/readme/
node node_modules/api-master/test/readme/use.js
Define API Errors
api/errors.js
module { return api // ...}
Define API Methods (End-Points)
api/methods.js
var Joi = module { return api method'checkData' description: 'Checks given data' // Optional additional short description param: Joiobject result: Joidescription'Message about data' { ifparamdata == true helper else helper // Uses defined error type } // ...}
Use API
// Define APIvar api = apiapi // Use APIvar methodName = 'checkData' { var callData = {} // optional call data: req, res, session, user api } // Data is ok // SuperBackendError: Sorry guys but data is false