美文网首页node
node.js+koa统一接口返回数据

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

作者: Poppy11 | 来源:发表于2020-09-08 17:46 被阅读0次

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

    之前写的接口返回数据大都如下形式,包括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)
    

    相关文章

      网友评论

        本文标题:node.js+koa统一接口返回数据

        本文链接:https://www.haomeiwen.com/subject/hqjjektx.html