16_响应拦截器

简介: 16_响应拦截器

响应拦截器是一个实现了NestInterceptor接口的泛型类,该泛型类有一个接收两个参数的intercept方法。通过响应拦截器可以在返回之前做点事情,本节我们演示的是全局响应拦截器(如需针对特定服务拦截可以看中间件那个章节)

  1. 在src目录下新建一个common文件夹,新建response.ts文件
import { Injectable, NestInterceptor, CallHandler } from '@nestjs/common';
import { Observable, map } from 'rxjs';
// Data<T>接口声明map返回的类型(整个)
interface Data<T> {
  data: T;
}
// 别忘了加上Injectable装饰器
@Injectable()
export class Response<T> implements NestInterceptor {
  // 该方法接收两个参数,返回类型是Observable
  intercept(context, next: CallHandler): Observable<Data<T>> {
    // 通过管道处理响应流,返回格式是固定的,data即为controller中对应服务返回的内容
    return next.handle().pipe(
      map((data) => {
        return {
          data,
          status: '200',
          message: '马牛逼',
          success: true,
        };
      }),
    );
  }
}
  1. 在main.ts里注册
import { Response } from './common/response';
app.useGlobalInterceptors(new Response());
目录
相关文章
|
9月前
|
前端开发 JavaScript
请求拦截器的使用
请求拦截器的使用
74 0
|
2月前
|
JSON Java fastjson
SpringMVC(二)【请求与响应】(2)
SpringMVC(二)【请求与响应】
|
2月前
|
JavaScript
vue 请求拦截器 的响应拦截器有几种?
vue 请求拦截器 的响应拦截器有几种?
|
2月前
|
前端开发 Java 应用服务中间件
SpringMVC(二)【请求与响应】(1)
SpringMVC(二)【请求与响应】
|
3月前
|
前端开发 小程序
异常处理器与拦截器 深入探究 --拦截器状态码无法被识别
异常处理器与拦截器 深入探究 --拦截器状态码无法被识别
|
3月前
|
JSON 前端开发 Java
SpringMVC请求和响应
Spring MVC通过请求和响应的处理来实现Web应用程序的开发。请求通过控制器处理,响应通过视图渲染器生成最终的HTML响应,并返回给客户端。
67 4
|
3月前
|
存储
SpringMVC的请求和响应
SpringMVC的请求和响应
18 0
|
8月前
Axios 拦截器 请求拦截器 响应拦截器
Axios 拦截器 请求拦截器 响应拦截器
|
JSON Java 应用服务中间件
SpringMVC | 请求与响应
SpringMVC | 请求与响应
105 0