response-validator
v1.2.0
Published
基于koa2的响应内容格式检查中间件,统一接口返回的格式
Downloads
2
Readme
response-validator
基于koa2的响应格式检查中间件,统一检查接口返回的格式,并将通过Class/Function实例化的对象转为json字符串。
安装
使用NPM
npm i -S response-validator
使用YARN
yarn add response-validator
使用方式:
CommonJS模块引入
const validator = require('response-validator');
// 使用验证器
const app = new Koa();
app.use(validator(ReturnResult));
其中ReturnResult表示接口返回应该要遵循的格式类/函数;如果返回的内容不是该类/函数的实例对象(通过instanceof判断),那么就会验证失败,抛出错误并返回。
ReturnResult的定义可以是:
class ReturnResult {
constructor(code, message, data) {
this.code = code;
this.message = message;
this.data = data;
}
}
也可以是:
function ReturnResult(code, message, data) {
this.code = code;
this.message = message;
this.data = data;
}
校验
当返回的数据是通过 new ReturnResult(code, message, data)实例化出来的对象,那么就会将该对象通经过JSON.stringify()方法转换为JSON格式的字符串并返回给调用方。
取消校验
closeJSONValidate() 当某个接口需要取消校验时(如文件下载等),需要跳过对返回数据格式的校验,可以使用如下方法: (closeJSONValidate方法挂载在当前请求的上下文中)
ctx.closeJSONValidate()