1.2.0 • Published 2 years ago

response-validator v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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()