Koa中更轻易简朴发送相应的体式格局

Github传送门 koa2-response

背景

近来做了许多node的背景项目,写了许多接口,然则发明跟着接口的逐步增加,需要写越来越来越多类似于下面这类代码。

ctx.body = {
    data: {
        name: 'test'
    },
    status: {
        code: 0,
        message: success
    }
}

写成如许还好,最少做到了一切接口返回的花样一致,假如没有在这方面做范例,那末背景的接口返回不一致,将会给前端带来许多的题目。

而且每一个接口都要写这么一大堆的代码。觉得是个迥殊贫苦的事。

所以koa2-response就这么诞生了。其实在写这篇文章之前,我已在我的项目内里用了一段时候了,方便了我们的操纵。

装置

npm install koa2-response

用法

const koa = require('koa');
const router = require('koa-router')();
const app = new koa();
const response = require('koa2-response');

const code = {
  UNKNOWN_ERROR: [1, 'Sorry, you seem to have encountered some unknown errors.']
}

router
  .get('/', (ctx, next) => {
    response.success(ctx, {
      name: 'test'
    })
  })
  .get('/error_test', (ctx, next) => {
    response.error(ctx, code.UNKNOWN_ERROR);
  })

app.use(router.routes());
app.use(router.allowedMethods());

app.listen(3000);

就如许很简单的就能够一致后端的返回数据,这个要领让我在项目中勤俭了许多时候。这个中间件照样在延续更新中,如今已有的要领是response.success和response.error。我盘算继承更新一个要领叫response.throw,这能够让背景自定义返回的http状况码以及错误信息。比方,用户没有权限,http的状况码就应该是401,而不该该是我们自定义的code了。

写在背面

人人假如有更好的解决方案,愿望不吝赐教。

欢迎光临 个人博客

    原文作者:detectiveHLH
    原文地址: https://segmentfault.com/a/1190000015706562
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞