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

 更新时间:2018年07月20日 14:33:22   作者:detectiveHLH  
这篇文章主要介绍了详解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了。

写在后面

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

Github传送门koa2-response

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Node.js中使用计时器定时执行函数详解

    Node.js中使用计时器定时执行函数详解

    这篇文章主要介绍了Node.js中使用计时器定时执行函数详解,本文使用了Node.js中的setTimeout和setInterval函数,需要的朋友可以参考下
    2014-08-08
  • Node快速切换版本、版本回退(降级)、版本更新(升级)

    Node快速切换版本、版本回退(降级)、版本更新(升级)

    这篇文章主要介绍了Node快速切换版本、版本回退(降级)、版本更新(升级),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用npm发布Node.JS程序包教程

    使用npm发布Node.JS程序包教程

    这篇文章主要介绍了使用npm发布Node.JS程序包教程,本文讲解了配置package.json、注册npm帐号、发布程序包等内容,需要的朋友可以参考下
    2015-03-03
  • node事件循环和process模块实例分析

    node事件循环和process模块实例分析

    这篇文章主要介绍了node事件循环和process模块,结合实例形式分析了node事件循环和process模块具体功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • npm list输出结果包含extraneous标志记录分析

    npm list输出结果包含extraneous标志记录分析

    这篇文章主要为大家介绍了npm list输出结果包含extraneous标志记录分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • node.js中的path.join方法使用说明

    node.js中的path.join方法使用说明

    这篇文章主要介绍了node.js中的path.join方法使用说明,本文介绍了path.join的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • node通过npm写一个cli命令行工具

    node通过npm写一个cli命令行工具

    本篇文章主要介绍了node通过npm写一个cli命令行工具 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • NPM全局安装与本地安装的区别详析

    NPM全局安装与本地安装的区别详析

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,下面这篇文章主要给大家介绍了关于NPM全局安装与本地安装区别的相关资料,需要的朋友可以参考下
    2022-10-10
  • 轻松创建nodejs服务器(5):事件处理程序

    轻松创建nodejs服务器(5):事件处理程序

    这篇文章主要介绍了轻松创建nodejs服务器(5):事件处理程序,本系列文章将一步一步创建一个完整的nodejs服务器,需要的朋友可以参考下
    2014-12-12
  • 为什么node.js不适合大型项目

    为什么node.js不适合大型项目

    这篇文章主要介绍了为什么node.js不适合大型项目,想了解node.js的同学,可以参考一下
    2021-04-04

最新评论