Guia para roteamento e middleware no Express

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.