#7 – Guards, Middleware и Pipes
Видеоурок
При разработке серверных приложений важно не только обрабатывать запросы и хранить данные, но и контролировать то, как именно запросы проходят через систему. В NestJS для этого существуют три ключевых инструмента: middleware, pipes и guards. Каждый из них выполняет свою роль и помогает сделать архитектуру более чистой и гибкой.
Middleware — это промежуточный слой, который срабатывает ещё до попадания запроса в контроллер. С его помощью удобно реализовывать такие задачи, как логирование запросов, добавление данных в объект request, базовая проверка токенов или модификация тела запроса. Middleware действует глобально или на уровне отдельных маршрутов и напоминает фильтр, через который проходят все входящие данные.
Pipes — это механизм для трансформации и валидации данных. Они проверяют входящие значения и при необходимости преобразуют их. Например, можно автоматически преобразовать строку в число или проверить, что поле действительно является строкой и не пустое. В связке с DTO и библиотекой class-validator pipes помогают держать входящие данные в порядке и предотвращают ошибки ещё до попадания их в бизнес-логику.
Guards — это защитный слой, который определяет, можно ли пользователю получить доступ к конкретному маршруту. В отличие от middleware, guards работают на уровне бизнес-логики авторизации: они решают, есть ли у пользователя права для выполнения действия. Классический пример — проверка авторизационного токена в заголовках запроса. Если токен неверный или отсутствует, доступ к контроллеру блокируется.
Материалы для курса
Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть