РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpThTs 127 of 201 menu
◀ ▶

Подключение ограничения в Nest

Контроллеры уже отвечают на адреса, но ни один запрос пока не сравнивается с лимитом. Пакет ограничения не установлен, и Nest не знает, где хранить счётчик обращений.

Пакет @nestjs/throttler регистрируют через ThrottlerModule.forRoot в корневом модуле. Чтобы правило срабатывало на каждом адресе, защитник ThrottlerGuard вешают глобально через токен APP_GUARD в провайдерах того же модуля.

Покажем на примере постов:

npm install @nestjs/throttler

Подключим модуль и общий защитник рядом с контроллером темы:

import { Module } from '@nestjs/common'; import { APP_GUARD } from '@nestjs/core'; import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; import { PostController } from './post.controller.js'; @Module({ imports: [ ThrottlerModule.forRoot([ { ttl: 60000, limit: 10, }, ]), ], controllers: [PostController], providers: [ { provide: APP_GUARD, useClass: ThrottlerGuard, }, ], }) export class AppModule {}

Установите пакет ограничения частоты, подключите его в корневом модуле с WorkerController и повесьте общий защитник на приложение.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить