nest.js实战之Interceptor转换响应
1.简介
一般前后端的响应会约定一个模式来方便前端的响应处理,如nest.js出现异常时的模式:
{"statusCode":400,"data": null,"message": "Bad Request"
}
这样前端可以直接判断statusCode来处理响应
但是,controller方法里会直接返回需要的数据,即data部分
如果要在所有controller方法里都包裹上一层statusCode,这样代价又比较大,所以希望有一个统一的切面来转换正常响应数据
在nest.js里可以使用Interceptor来实现这种响应数据转换
2.实现
实现一个ResponseTransformInterceptor拦截器
import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';export interface Response<T> {statusCode: number;message: string;data: T;
}/*** Global response transformation interceptor* HttpException thrown directly and Pipe verification errors will not pass t
nest.js实战之Interceptor转换响应相关推荐
- 学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 最近一直比较忙, 而且自己工作中做的事也不适合写文章,所以一直没有更文.. 最近接到一 ...
- nest.js实战之Filter异常处理
1.简介 nest.js内置了基础异常类HttpException,以及很多异常扩展类: BadRequestException UnauthorizedException NotFoundExcep ...
- nest.js实战之集成sentry
1.简介 Sentry API用于将事件提交给Sentry收集器以及导出和管理数据.报告和Web API分别进行了版本控制. 2.安装 仓库:https://github.com/ntegral/ne ...
- Nest.js 实战系列第二篇-实现注册、扫码登陆、jwt认证等
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 大家好我是考拉
- Nest+Vue实战:工作计划管理系统
博客原文和更新地址:Nest+Vue实战:工作计划管理系统 前言 该项目是学习Nest.js框架所得,前端基于Vue.js + Vuex + VueRouter + ElementUI + SCSS, ...
- Nest.js 名词概念介绍
目录 1. 初识 Nest.js 1.1 什么是 Nest.js 1.2 Nest.js 优点 2. Nest.js 核心概念 2.1 控制器 Controller 2.2 提供者 Provider ...
- Nest.js 是如何实现 AOP 架构的?
Nest.js 是一个 Node.js 的后端框架,它对 express 等 http 平台做了一层封装,解决了架构问题.它提供了 express 没有的 MVC.IOC.AOP 等架构特性,使得代码 ...
- Nest.js 从零到壹系列(六):用 15 行代码实现 RBAC 0
本文由图雀社区认证作者 布拉德特皮 写作而成,点击阅读原文查看作者掘金链接,感谢作者的优质输出,让我们的技术世界变得更加美好???? 上一篇介绍了如何使用 DTO 和管道对入参进行验证,接下来介绍一下 ...
- 《Ember.js实战》——2.3 计算属性
本节书摘来自异步社区<Ember.js实战>一书中的第2章,第2.3节,作者:[挪]Joachim Haagen Skeie(乔基姆•哈根•斯基)著,更多章节内容可以访问云栖社区" ...
最新文章
- import是引进外部函数吗_你必须要知道的Python中的main函数
- linux常用高级命令,Linux常用高级文件操作命令
- 第十五章 Python和Web
- PJSIP学习笔记——PJSUA层发起呼叫的主要流程
- 数据结构之图:有向图的介绍与实现,Python代码实现——25
- linux运维平台工具,Linux运维自动化工具 Kickstart
- 小程序php mysql_PHP+TP小程序授权登陆实现
- sql select 0 字段 某字段是不在指定的表
- jquery简单的选择添加下拉列表
- 【转载】C# ListView控件的一些用法
- 自动驾驶算法详解(6):Astar算法原理以及路径规划应用在python与ros平台实现
- 深入了解人工智能的发展现状及前景
- Spring Boot系列 —(一)手把手搭建 SpringBoot 项目
- 物理Standby数据库的文件路径转换(1)
- cms07——单页模版制作教程
- 吴裕雄--天生自然 诗经:声声慢·寻寻觅觅
- 用Python实现表白代码 抖音最火的整蛊表白小程序如何做出来的
- 用计算机四舍五入偷银行储户的钱,银行家舍入VS四舍五入(下):.NET发现之旅(四)...
- 处理亚马逊差评的几个方法
- Android模糊查询(首字母、简拼、全拼,汉字)
热门文章
- TeeChart.v8.01安装
- CAN-TP 网络层参数解析(N_Ar,N_As,STmin,BS等)
- 7-1 温度转换 (100 分) 摄氏温度/华氏温度
- 首页 个人简历,个人主页,个人介
- 当下最流行的10大H5前端框架
- GitHub Actions实现自动打包生成apk
- 数学知识 泰勒展开式
- 深度学习论文笔记:Fast R-CNN
- linux脚本获取日期格式,关于shell脚本中的bash:yyyy-mm-dd格式日期
- 偷听李开复“内心的声音”