Node JS
Middleware é um importante conceito do nodeJS
Middleware é um importante conceito do nodeJS, provavelmente você já ouviu sobre esse termo algumas vezes na sua vida profissional ou mesmo no ambiente de estudos. Mas não se preocupe, pois o seu conceito é simples de entender, de modo geral, um middleware é um interceptador de requisições que pode interromper totalmente uma requisição ou mudar dados da requisição.
Isso quer dizer que, 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.
Um Middleware é basicamente uma função que irá receber um objeto Request e um objeto Response, como o seu route Handlers faz. Um terceiro parâmetro é a função que será chamada uma vez pelo o seu códig quando este terminar de executar, nesse ponto devemos lembrar que o fluxo do nodeJs e totalmente linear, dessa forma o parâmetro next() chama a próxima função do seu código. Caso você omita o next() no middleware, o seu programa não seguirá.
Veja o exemplo abaixo sobre o uso do middleware.
const express = require('express');
const logRequest = (request, response, next) => {
console.log(`Logged ${request.url} -- ${new Date()}`)
next();
}
const app = express();
app.use(logRequest);
app.get('/', (request, response) => {
return response.json({ message: 'Hello word' });
})
app.listen(3333);
Nesse código, usamos um middleware chamado logRequest para interceptar as requisições e logar no console a url e a data, veja abaixo o resultado.
Logged / -- Tue Dec 15 2020 21:16:14 GMT-0300 (Horário Padrão de Brasília)
Nós podemos usar o middleware de outra forma, colocando antes do (request, response) que ele vai funcionar da mesma forma. Veja o exemplo:
app.get('/', logRequest, (request, response) => {
return response.json({ message: 'Hello word' });
})
Na verdade, podemos colocar quantos middlewares desejamos, pois o expressJS vai executar todos eles, observe abaixo como fica.
app.get('/', middleware1, middleware2, middleware3, (request, response) => {
return response.json({ message: 'Hello word' });
})
Bom é isso, o middleware depois que se entende não é um bicho de 7 cabeça, na verdade é bem simples e agora basta praticar e sua próxima aplicação ganhará um belo upgrade ao se utilizar middlewares. Mas em caso de dúvidas, não deixe de acessar a documentação oficial em http://expressjs.com/ e para mais informações sobre outros assuntos relacionados a NodeJs no blog acesse https://thexcodes.com/session/nodejs/.
Explore mais