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());
目录
相关文章
|
前端开发 JavaScript
请求拦截器的使用
请求拦截器的使用
100 0
|
6月前
|
JSON Java fastjson
SpringMVC(二)【请求与响应】(2)
SpringMVC(二)【请求与响应】
|
6月前
|
JavaScript
vue 请求拦截器 的响应拦截器有几种?
vue 请求拦截器 的响应拦截器有几种?
|
6月前
|
前端开发 Java 应用服务中间件
SpringMVC(二)【请求与响应】(1)
SpringMVC(二)【请求与响应】
|
7月前
|
缓存 前端开发 Java
SpringMVC请求处理过程
SpringMVC请求处理过程
64 0
|
7月前
|
JSON 前端开发 Java
SpringMVC请求和响应
Spring MVC通过请求和响应的处理来实现Web应用程序的开发。请求通过控制器处理,响应通过视图渲染器生成最终的HTML响应,并返回给客户端。
75 4
|
7月前
|
存储
SpringMVC的请求和响应
SpringMVC的请求和响应
29 0
Axios 拦截器 请求拦截器 响应拦截器
Axios 拦截器 请求拦截器 响应拦截器
|
JSON Java 应用服务中间件
SpringMVC | 请求与响应
SpringMVC | 请求与响应
112 0
|
JSON 编解码 应用服务中间件
SpringMVC请求与响应(一)
SpringMVC请求与响应(一)