koa2:统一接口返回数据格式

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

//成功返回
 
{
    "code":200,
    "msg":"success",
    "data":{
        "list":[]
    }
}
 
 
//失败返回
{
    "code":00,
    "msg":""
}

调用

router.get('/',ctx=>{
    //期望在api中通过如下方式返回数据 
    ctx.success({
        items:[]
    })
})

中间件

function routerResponse(option={}){
    return function(ctx,next){
        ctx.success = function (data) {
            ctx.type = option.type || 'json'
            ctx.body = {
                code : option.successCode || 200,
                msg : option.successMsg || 'success',
                data : data
            }
        }
 
        ctx.fail = function (msg,code) {
            ctx.type = option.type || 'json'
            ctx.body = {
                code : code || option.failCode || 99,
                msg : msg || option.successMsg || 'fail',
            }
        }
 
        next()
    }
 
}
 
 
module.exports= routerResponse

引用

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

代码实例 [含注册登录,token,刷新token,授权相关功能]       GitHub - r70kg/node_demo: node项目基本结构【mvc】    如有帮助 请start支持,感谢支持 ^_^

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶观海听涛丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值