nest js 限制客户端在一定时间内的请求次数

  // 第一步:安装

yarn add @nestjs/throttler

 第二步:在需要使用的模块引入使用,这里是全局使用,在app.module.ts中引入
这里设置的是:1分钟内只能请求10次,超过则报status为429的错误

// app.module.ts

import { APP_GUARD } from '@nestjs/core';
import { Module } from '@nestjs/common';
import { UserModule } from './modules/user/user.module';

//引入
import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler';

@Module({
  imports: [
      UserModule,
    ThrottlerModule.forRoot({
      ttl: 60,  //1分钟
      limit: 10, //请求10次
    }),
  ],
  providers: [ //全局使用
    {
      provide: APP_GUARD,
      useClass: ThrottlerGuard,
    },
  ],
})
export class AppModule { }

 

 

 

.

posted @ 2021-11-30 15:42  James2019  阅读(1006)  评论(0编辑  收藏  举报