> Работали ли вы с интерцепторами в NestJS (JavaScript)
Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы
Компании: TrendTech
Стек: JavaScript, Node.js, NestJS
> Пример ответа
Да, я работал с интерцепторами в NestJS. Они используются для перехвата входящих запросов и исходящих ответов, что позволяет централизованно добавлять логику, такую как логирование, трансформация данных или обработка ошибок. Например, я реализовывал интерцептор для логирования времени выполнения запроса:
TYPESCRIPTimport { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';import { Observable } from 'rxjs';import { tap } from 'rxjs/operators';@Injectable()export class LoggingInterceptor implements NestInterceptor {intercept(context: ExecutionContext, next: CallHandler): Observable<any> {const now = Date.now();const request = context.switchToHttp().getRequest();console.log(`Запрос: ${request.method} ${request.url}`);return next.handle().pipe(tap(() => console.log(`Ответ отправлен за ${Date.now() - now}мс`)),);}}
Также применял интерцепторы для форматирования ответов, например, оборачивая их в стандартный объект с полями data и statusCode, или для добавления заголовков безопасности. Интерцепторы удобно подключать глобально, на уровне контроллера или конкретного маршрута через декоратор @UseInterceptors().
> Похожие задачи по JavaScript
Можно ли создать два интерфейса или типа с одинаковым именем, но разным описанием в TypeScript
Какой опыт работы с NestJS
Можно ли вызвать монтирование или размонтирование компонента с помощью key в React
Как отлаживать ошибки в коде
> Похожие задачи по frontend
Можно ли создать два интерфейса или типа с одинаковым именем, но разным описанием в TypeScript
Какой опыт работы с NestJS
Можно ли вызвать монтирование или размонтирование компонента с помощью key в React
Как передавать данные в обработчик сабмита, помещенный в useCallback в React
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью