Middleware - что и для чего?

Middleware - промежуточный обработчик запроса.

Для чего необходимо использовать middleware?

Middleware используется для того, чтобы разделить различные этапы обработки запросов (авторизация, валидация, парсинг входных данных в удобный формат, основная логика) на промежуточные обработчики.

Обработчики, в ходе их выполнения решают передавать запрос следующем обработчике, или остановить обработку запроса и немедленно отдать клиенту какой-то ответ (обычно ошибку).

Для чего не следует использовать middleware?

Для чего следует использовать middleware? Не стоит слишком сильно разделять логику обработчиков (например, обработчик просто смотрит в БД и либо передает запись БД в следующий обработчик, или отвечает клиенту с ошибкой, записи нет). Такой подход приводит к рассредоточению логики обработки маршрута по большому количеству файлов и затрудняет дальнейшее поддержание кода.

Как middleware общаются между собой?

Каждый middleware может записывать и читать данные с / у request, response объекты. Также каждый middleware может прекратить обработку запроса, вызвав next с объектом ошибки или передать управление следующему middleware, вызвав next без параметров.

Last updated