node

node.js+koa统一接口返回数据

2020-09-08  本文已影响0人  Poppy11

统一接口成功或失败返回格式

之前写的接口返回数据大都如下形式,包括3个字段:code、data、msg,希望每个api接口都能以如下形式返回数据,利用中间件就非常容易实现

//成功返回
 
{
    "code":200,
    "msg":"success",
    "data":{
        "items":[]
    }
}
 
 
//失败返回
{
    "code":99,
    "msg":"参数不完整"
}
function routerResponse(option={}){
    return async function(ctx,next){
        ctx.success = function (data,msg) {
            ctx.type = option.type || 'json'
            ctx.body = {
                code : option.successCode || 0,
                msg : msg,
                data : data
            }
        }

        ctx.fail = function (msg,code) {
            ctx.type = option.type || 'json'
            ctx.body = {
                code : code || option.failCode || 99,
                msg : msg || option.successMsg || 'fail',
            }
            console.log(ctx.body)
        }

       await next()
    }

}

在app.js引入这个中间件



const Koa = require('koa')
const app = new Koa()
let routerResponse =  require('./middleware/routerResponse')
...
app.use(routerResponse())
...
app.listen(3031)

使用

  ctx.fail('用户不存在',-1)
  ctx.success(user)
上一篇下一篇

猜你喜欢

热点阅读