#7 – Guards, Middleware и Pipes

#7 – Guards, Middleware и Pipes

Фреймворка Nest JS поддерживает работу с промежуточным ПО. В уроке вы научитесь использовать Pipes, Guards, а также Middleware. На базе всего этого мы научимся встраивать дополнительный функционал в работу проекта.

Відеоурок

Telegram group

Підписуйтесь на нашу групу в Телеграмі 🇺🇦

При разработке серверных приложений важно не только обрабатывать запросы и хранить данные, но и контролировать то, как именно запросы проходят через систему. В NestJS для этого существуют три ключевых инструмента: middleware, pipes и guards. Каждый из них выполняет свою роль и помогает сделать архитектуру более чистой и гибкой.


Middleware — это промежуточный слой, который срабатывает ещё до попадания запроса в контроллер. С его помощью удобно реализовывать такие задачи, как логирование запросов, добавление данных в объект request, базовая проверка токенов или модификация тела запроса. Middleware действует глобально или на уровне отдельных маршрутов и напоминает фильтр, через который проходят все входящие данные.


Pipes — это механизм для трансформации и валидации данных. Они проверяют входящие значения и при необходимости преобразуют их. Например, можно автоматически преобразовать строку в число или проверить, что поле действительно является строкой и не пустое. В связке с DTO и библиотекой class-validator pipes помогают держать входящие данные в порядке и предотвращают ошибки ещё до попадания их в бизнес-логику.


Guards — это защитный слой, который определяет, можно ли пользователю получить доступ к конкретному маршруту. В отличие от middleware, guards работают на уровне бизнес-логики авторизации: они решают, есть ли у пользователя права для выполнения действия. Классический пример — проверка авторизационного токена в заголовках запроса. Если токен неверный или отсутствует, доступ к контроллеру блокируется.

Матеріали для курсу

Щоб завантажувати матеріали до відеокурсів, необхідно оформити підписку на сайт

Завдання до уроку

Необхідно оформити передплату на проект, щоб отримати доступ до всіх домашніх завдань

Велике завдання за курсом

Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця

Також варто подивитися

Изучение стека MEAN: MongoDB, Express, Angular и Node JS
10 уроків
Создание приложения на React JS / Использование API
7 уроків
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроків
Уроки Node JS и Express для начинающих
13 уроків
Уроки Vue.js для начинающих
10 уроків
Изучение библиотек jQuery
24 урока
Коментарі
Додати коментар

Поки що коментарів немає