/koa-json-schema

json schema validation middleware for koajs

Primary LanguageTypeScriptMIT LicenseMIT

koa-json-schema

CircleCI

json schema validation middleware for koajs using AJV.

install

npm install --save koa-json-schema

usage

validate input as

const input = Object.assign({}, ctx.request.query, ctx.request.body, ctx.params);
const koa=require('koa')
const {middleware: validator} = require('koa-json-schema')

koa()
    .use(validator(schema, options))
    .use(function (ctx){
       // do something with safe input
    });
  • schema: a valid json schema
  • options: options to pass to AJV

if the input is not valid 422 error is thrown. the validation errors can be found as error.error_description

koa()
    .use(async function (ctx, next){
        try {
            await next();
        } catch(e){
           if(e.status === 422){
                console.log(e.error_description);
           }
        }
    })
    .use(validator(schema, options))
    .use(function (ctx){
       // do something with safe input
    });