资讯专栏INFORMATION COLUMN

Koa中更方便简单发送响应的方式

liujs / 3374人阅读

摘要:我打算继续更新一个方法叫,这可以让后台自定义返回的状态码以及错误信息。例如,用户没有权限,的状态码就应该是,而不应该是我们自定义的了。写在后面大家如果有更好的解决方案,希望不吝赐教。

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了。

写在后面

大家如果有更好的解决方案,希望不吝赐教。

欢迎光临 个人博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110148.html

相关文章

  • 大厂532道面试题知识点笔记

    摘要:在运行这一行之后,也指向这显然会导致继承链的紊乱明明是用构造函数生成的,因此我们必须手动纠正,将对象的值改为。下文都遵循这一点,即如果替换了对象,那么,下一步必然是为新的对象加上属性,并将这个属性指回原来的构造函数。 express&koa 面试题目:1.express和koa的对比,两者中间件的原理,koa捕获异常多种情况说一下 参考:https://blog.csdn.net/sh...

    Tony 评论0 收藏0
  • 大厂532道面试题知识点笔记

    摘要:在运行这一行之后,也指向这显然会导致继承链的紊乱明明是用构造函数生成的,因此我们必须手动纠正,将对象的值改为。下文都遵循这一点,即如果替换了对象,那么,下一步必然是为新的对象加上属性,并将这个属性指回原来的构造函数。 express&koa 面试题目:1.express和koa的对比,两者中间件的原理,koa捕获异常多种情况说一下 参考:https://blog.csdn.net/sh...

    RdouTyping 评论0 收藏0
  • 大厂532道面试题知识点笔记

    摘要:在运行这一行之后,也指向这显然会导致继承链的紊乱明明是用构造函数生成的,因此我们必须手动纠正,将对象的值改为。下文都遵循这一点,即如果替换了对象,那么,下一步必然是为新的对象加上属性,并将这个属性指回原来的构造函数。 express&koa 面试题目:1.express和koa的对比,两者中间件的原理,koa捕获异常多种情况说一下 参考:https://blog.csdn.net/sh...

    cgspine 评论0 收藏0
  • iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 showImg(https://segmentfault.com/img/remote/1460000012932474?w=1606&h=968); log 日志中间件 最困难的事情就是认识自己。 在一个真实的项目中,开发只是整个投入的一小部分,版本迭代和后期维护占了极其重要的部分。项目上线...

    stefan 评论0 收藏0
  • 服务端事件EventSource揭秘

    摘要:不过永久帧的技术会导致主页面的加载条始终处于状态,体验很差。同时,规范允许服务端指定自定义事件,客户端侦听该事件即可。 服务端推 服务端推,指的是由服务器主动的向客户端发送消息(响应)。在应用层的HTTP协议实现中,请求-响应是一个round trip,它的起点来自客户端,因此在应用层之上无法实现简易的服务端推功能。当前解决服务端推送的方案有这几个: 客户端长轮训 websocket...

    sf190404 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<