首页  >  文章  >  web前端  >  Koa中发送响应的一种简单的方式

Koa中发送响应的一种简单的方式

不言
不言原创
2018-07-21 11:26:441886浏览

本篇文章给大家分享的是关于Koa中发送响应的一种简单的方式,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。

背景

最近做了很多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了。

相关推荐:

如何使用FileReader对象获取图片的代码

以上是Koa中发送响应的一种简单的方式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn