博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Koa中更方便简单发送响应的方式
阅读量:6854 次
发布时间:2019-06-26

本文共 1061 字,大约阅读时间需要 3 分钟。

Github传送门

背景

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

写在后面

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

欢迎光临

转载地址:http://uwfyl.baihongyu.com/

你可能感兴趣的文章
贴一些 Python 的笔记
查看>>
给root用户添加远程连接权限
查看>>
CentOS7下Apache2.4.6使用MySQL5.7验证
查看>>
linux 查看并发
查看>>
Linux下FTP服务器的安装和简单配置
查看>>
jQuery基本用法二
查看>>
Asp.net网站部署时遇到的一些问题
查看>>
WinForm webbrowser控件的使用
查看>>
<Power Shell>09 利用powershell 查找旧文件
查看>>
windows phone (16) UI变换 下
查看>>
管理中用人的两种思维
查看>>
与用户登录shell相关的文件/etc/profile,~/bashrc等浅析
查看>>
SQL数据库高级查询命令(4)
查看>>
Thrift结构分析及增加取客户端IP功能实现
查看>>
easyui radio 类型的取值和赋值方法
查看>>
Puppet的安装和初使用
查看>>
linux-firewalld
查看>>
exchange快速将断开的邮箱显示出来
查看>>
排查一些常见的系统故障
查看>>
ssh-copy-id使用及非默认22端口时报错
查看>>