O que são Middleware no Node? - Node
- Início » MundoJS » Node » O que são Middleware no Node?
O que são Middleware no Node?
Middleware é todo o tipo de função que está entre um pedido HTTP e a resposta final que o servidor envia de volta para o cliente. Veja exemplos com Node e Express.
Os middlewares são funções que podem tratar os inputs e outputs das rotas antes e ou depois que uma rota é processada, ou seja, você pode criar um middleware que intercepta e verificar se uma requisição esta enviando um header específico e que caso o mesmo não esteja enviando o header ela retorne uma tela de erro para o usuário, negando a requisição de acessar uma determinada rota da aplicação, neste caso você criou e inejtou um middleware que trata uma pré-requisição.
LEIA TAMBÉM: Javascript - Requisições Ajax com Javascript sem uso de APIs
Pode-se criar um middleware que no final de cada resposta de uma rota, retorne também um header com metadados da resposta, por exemplo, headers de paginação de dados. Neste caso estamos criando um middleware de pós-requisição.
Não há limites ao injetar middlewares, você pode criar e configurar N middlewares em sua aplicação, porém é sempre bom entender o que são cada middlewares e principalmente a ordem que cada middleware é injetado afeta no processamento de uma rota, ou seja, caso você injete middlewares em uma ordem errada, como efeito colateral sua aplicação pode responder ou até mesmo não processar corretamente suas rotas, por isso é extremamente importante entender o que cada middleware faz e em que ordem injetá-los.
Exemplos de middleware com Express
Usando Express.js, um pedido GET simples teria esta código:
É possível criar um log do tipo de request e do url de um request podes usar este middleware simples:
No exemplo acima o app.get tem um middleware como argumento. Podes usar middleware encadeados também dessa maneira. Aqui fica um exemplo real: