Лимит маршрута в Nest
Общая политика подходит для большинства страниц, но один адрес принимает тяжёлые запросы и должен открываться реже. Если оставить только общий потолок, этот адрес получает столько же попыток, сколько и лёгкий список.
На метод контроллера вешают
переопределение через ключ
default, когда в модуле
одна безымянная запись. Новые
значения ttl и limit
заменяют общие только для
выбранного маршрута, остальные
адреса остаются под старым правилом.
Покажем на примере постов:
import { Controller, Get } from '@nestjs/common';
import { Throttle } from '@nestjs/throttler';
@Controller('posts')
export class PostController {
@Get()
getPosts(): string {
return 'All posts';
}
@Throttle({ default: { limit: 2, ttl: 60000 } })
@Get('search')
searchPosts(): string {
return 'Search posts';
}
}
Ужесточите правило частоты
для одного адреса в
WorkerController, оставив
остальные страницы темы
под общим лимитом приложения.