Roteamento e middleware são dois conceitos importantes no Node.js e na estrutura Express para criar aplicativos da web.
Roteamento:
- O roteamento é o processo de determinar como lidar com as solicitações do cliente e responder com os recursos correspondentes no servidor.
- No Express, podemos definir rotas especificando o método HTTP (GET, POST, PUT, DELETE, etc.) e o caminho da URL correspondente.
- Cada rota pode ter uma ou mais funções de manipulador para executar tarefas como processamento de solicitação, acesso ao banco de dados e envio de respostas ao cliente.
Middleware:
- Middleware são funções executadas em uma sequência antes que a solicitação chegue ao manipulador de rota final.
- Eles são usados para executar funcionalidades comuns e lidar com tarefas intermediárias, como autenticação, registro, tratamento de erros, etc.
- O middleware pode ser aplicado a todo o aplicativo ou especificado para rotas específicas.
- Cada middleware recebe os parâmetros req (solicitação) e res (resposta) e pode executar o processamento, passar a solicitação para o próximo middleware ou finalizar o processamento enviando uma resposta ao cliente.
Exemplo de combinação de roteamento e middleware no Express:
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware = (req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/', (req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about', (req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000, () => {
console.log('Server is listening on port 3000...');
});
Neste exemplo, definimos um middleware personalizado loggerMiddlewarepara registrar cada nova solicitação que chega ao servidor. Esse middleware é aplicado a todo o aplicativo usando o app.use()método. Em seguida, definimos duas rotas, uma para a página principal ( '/') e outra para a página sobre ( '/about'). Por fim, iniciamos o servidor e escutamos na porta 3000.
O middleware loggerMiddlewareserá executado para cada solicitação, registrando uma mensagem no console antes de passar a solicitação para o manipulador de rota ou middleware correspondente na sequência.
Essa combinação de roteamento e middleware nos permite lidar com diferentes solicitações e executar tarefas comuns com eficiência em um aplicativo Express.