1.1.3 • Published 7 years ago
koa-oai-router-parameters v1.1.3
Koa-OAI-Router-Parameters
Parameters validator plugin for koa-oai-router.
Installation
npm i koa-oai-router-parameters --saveInfo
| field | type | info |
|---|---|---|
| name | string | parameters |
| evoked fields | string | parameters |
| evoked value | object | OpenApi parameter object |
| options | object | header,path,query,formData,body,ajv,handler |
options{object}header{boolean}Enable header validator. defaulttruepath{boolean}Enable path validator. defaulttruequery{boolean}Enable query validator. defaulttrueformData{boolean}Enable formData validator. defaulttruebody{boolean}Enable body validator. defaulttrueajv{object|function}objectis options of Ajv.functionis a factory with arguments(Ajv)and must return a ajv instance.handler{function}Response handler when validate fail. Having arguments(ctx, next, {errors, endpoint, field, fieldValue, operation, operationValue}). Default handler response Ajv Error to body. e.g.[{ "keyword":"type", "dataPath":".size", "schemaPath":"#/properties/size/type", "params":{ "type":"number" }, "message":"should be number" }]
Simple code:
const Koa = require('koa');
const Router = require('koa-oai-router');
const middlewareLoader = require('koa-oai-router-middleware');
const parametersHandler = require('koa-oai-router-parameters');
const app = new Koa();
const router = new Router({
apiDoc: './api',
});
router.mount(middlewareLoader('./controllers'));
router.mount(parametersHandler());
app.use(bodyParser());
app.use(router.routes());