#7 – Guards, Middleware и Pipes

#7 – Guards, Middleware и Pipes

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

Видеоурок

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


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


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


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

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

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

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

Большое задание по курсу

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

Также стоит посмотреть

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

Пока комментариев нет