devterview_$ iniciar simulação

A cadeia de middleware do Express

FácilJúniorMiddleware

Pergunta

Como funciona a cadeia de middleware no Express, e por que a ordem de registro importa?

Resposta esperada

Cada middleware é uma função `(req, res, next)` executada na ordem em que foi registrada (`app.use`, `app.get`...). Um middleware pode encerrar a resposta (`res.send`) ou passar adiante chamando `next()`; se não fizer nenhum dos dois, a requisição pendura pra sempre. A ordem importa porque middleware é pipeline: o parser de body precisa vir antes das rotas que leem `req.body`; o de autenticação antes das rotas protegidas; o de CORS antes de tudo que responde; o handler de erro e o 404 por último. Registrar um middleware depois da rota que precisa dele é um bug silencioso comum.

Por que perguntam isso

Pergunta júnior/pleno. Sinal bom: 'se não chamar next() nem responder, pendura' e exemplos concretos de ordem (body parser antes da rota).

#middleware#pipeline#ordem
publicidade

Perguntas de acompanhamento

Relacionadas