Middleware - что и для чего?
Middleware - промежуточный обработчик запроса.
Для чего необходимо использовать middleware?
Middleware используется для того, чтобы разделить различные этапы обработки запросов (авторизация, валидация, парсинг входных данных в удобный формат, основная логика) на промежуточные обработчики.
Обработчики, в ходе их выполнения решают передавать запрос следующем обработчике, или остановить обработку запроса и немедленно отдать клиенту какой-то ответ (обычно ошибку).
Для чего не следует использовать middleware?
Для чего следует использовать middleware? Не стоит слишком сильно разделять логику обработчиков (например, обработчик просто смотрит в БД и либо передает запись БД в следующий обработчик, или отвечает клиенту с ошибкой, записи нет). Такой подход приводит к рассредоточению логики обработки маршрута по большому количеству файлов и затрудняет дальнейшее поддержание кода.
Каждый middleware может записывать и читать данные с / у request, response объекты. Также каждый middleware может прекратить обработку запроса, вызвав next с объектом ошибки или передать управление следующему middleware, вызвав next без параметров.
Last updated
Was this helpful?