Введение в промежуточное ПО в Nest
Один и тот же шаг перед ответом приходится копировать в каждый метод, хотя клиент видит только итоговую строку. Запись в журнал, служебный заголовок или проверка адреса не должны жить внутри каждой страницы.
Такой шаг выносят в промежуточное ПО. Его ещё называют промежуточным слоем. Слой получает запрос раньше метода контроллера, может изменить запрос или ответ и передаёт управление дальше по цепочке.
В Nest слои подключают в модуле.
Класс модуля реализует интерфейс
NestModule и описывает
метод configure с параметром
MiddlewareConsumer. Там
указывают, какой слой повесить
и для каких адресов он сработает.
Слой обязан вызвать передачу дальше, иначе ответ клиенту не дойдёт. На сайте с записями это помогает один раз отметить обращение к списку, не трогая сам метод страницы.