相关文章推荐
腼腆的遥控器  ·  ASMR剧情 监*臭味惩罚(臭鼬娘类型) ...·  1 年前    · 
愤怒的大蒜  ·  文化遇见科技,这里一路生花——走进湖南马栏山 ...·  1 年前    · 
傻傻的香烟  ·  【原创——忘曦亲情】微暖【蓝氏双璧吧】_百度贴吧·  1 年前    · 
大力的镜子  ·  科普FHR、游虾、信用卡、OTA高级会员等小 ...·  1 年前    · 
热心的酱肘子  ·  如何去除胶带残留的胶? - 知乎·  2 年前    · 
Code  ›  在nestjs/ axios中设置全局(模块级)拦截器开发者社区
https://cloud.tencent.com/developer/ask/sof/106966288
爱听歌的茶叶
2 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 在nestjs/ axios中设置全局(模块级)拦截器
Stack Overflow用户
提问于 2022-05-17 07:13:24
EN

如何添加用于记录传出请求的拦截器?我知道我可以将它添加到HttpService的每个实例,如下所示:

this.httpService.axiosRef.interceptors.request.use((config) => ...)

但是我只想添加一次,这就是为什么我要问是否有一种在模块级别添加它的方法--我看到了一个向模块添加配置的选项,如下所示:

imports: [HttpModule.register({...})]

有人知道如何以这种方式配置拦截器?提前谢谢。

1 1.5K 0 票数 0
EN
node.js
typescript
axios
nestjs

回答 1

Stack Overflow用户

发布于 2022-06-08 10:03:50

作为一个变体,您可以使用这个示例编写您自己的HttpModule,这将使用Axios HttpSerive。要使用 register \ registerAsync ,您需要从Axios HttpModule (在示例 AxiosHttpModule 上)对模块进行 extends

import { HttpModule as AxiosHttpModule, HttpService } from '@nestjs/axios';
import { Global, Inject, Module, OnModuleInit } from '@nestjs/common';
import { WINSTON_MODULE_NEST_PROVIDER } from 'nest-winston';
import { Logger } from '@app/common/Logger';
import {
  createReqInterceptor,
  createRespFailInterceptor,
  createRespSuccessInterceptor,
} from '@app/common/http/http.interceptors';
@Global()
@Module({
  imports: [AxiosHttpModule],
  exports: [AxiosHttpModule],
export class HttpModule extends AxiosHttpModule implements OnModuleInit {
  constructor(
    private readonly httpService: HttpService,
    @Inject(WINSTON_MODULE_NEST_PROVIDER) private readonly logger: Logger,
    super();
  public onModuleInit(): any {
    const axios = this.httpService.axiosRef;
    axios.interceptors.request.use(function (config: AxiosRequestConfig) {
     //... some logic
    axios.interceptors.response.use(
      function (response: AxiosResponse) {
       //... some logic
      function (err: AxiosError) {
        //... some logic
 
推荐文章
腼腆的遥控器  ·  ASMR剧情 监*臭味惩罚(臭鼬娘类型) CV小野猫 支持定制 喵_哔哩哔哩_bilibili
1 年前
愤怒的大蒜  ·  文化遇见科技,这里一路生花——走进湖南马栏山视频文创产业园-中国科技网
1 年前
傻傻的香烟  ·  【原创——忘曦亲情】微暖【蓝氏双璧吧】_百度贴吧
1 年前
大力的镜子  ·  科普FHR、游虾、信用卡、OTA高级会员等小众订房渠道|支付宝|酒店|ota_网易订阅
1 年前
热心的酱肘子  ·  如何去除胶带残留的胶? - 知乎
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号