Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução ao Middleware no Express.js | Desenvolvimento de Aplicações Web com Express.js
Desenvolvimento Backend com Node.js e Express.js

bookIntrodução ao Middleware no Express.js

🤔 Compreendendo Middleware

Middleware permite processar requisições antes que elas alcancem os manipuladores de rotas. Atua como um filtro para as requisições recebidas, fornecendo uma maneira de executar várias tarefas no ciclo de requisição-resposta. Funções middleware recebem três argumentos: um objeto de requisição (req), um objeto de resposta (res) e uma função next, que é utilizada para passar o controle para o próximo middleware na cadeia.

Imagine um cano de água pelo qual a água flui. A água é bombeada por uma extremidade do cano e passa por manômetros e válvulas, nossos middlewares, antes de chegar ao seu destino - nosso copo. O ponto crítico dessa analogia é que a ordem desses manômetros e válvulas importa.

Da mesma forma, funções middleware no Express.js são executadas em uma ordem específica, tornando a ordem de registro dos middlewares crucial para a funcionalidade da aplicação.

🏃‍♂️ Middleware em Ação

Vamos inserir nosso próprio middleware em nossa aplicação antes de chamar qualquer rota.

app.use((req, res, next) => {
  console.log('Our middleware');
  next();
});

Esta função não faz nada, apenas permite que o fluxo passe por ela, mas nossa mensagem sempre aparecerá no console.

Esta função não executa nenhuma tarefa específica; ela apenas passa o fluxo por si mesma. No entanto, serve para ilustrar como o middleware funciona no pipeline do Express.js. Neste exemplo, sempre que uma requisição for feita à nossa aplicação Express.js, Our middleware será registrado no console.

🛤️ Propósito do Middleware

O middleware pode servir a diversos propósitos em uma aplicação Express.js, incluindo:

  • Registro de logs: Middleware pode registrar detalhes da requisição como o método HTTP, URL e timestamp, fornecendo informações sobre o tráfego que seu servidor está processando;
  • Autenticação: Middleware pode verificar se um usuário está autenticado antes de permitir o acesso a determinadas rotas. Isso é frequentemente utilizado para proteger partes sensíveis da aplicação;
  • Validação: Middleware pode validar os dados da requisição antes de processá-los. Por exemplo, pode verificar se os dados enviados em uma requisição POST estão no formato correto;
  • Tratamento de erros: Middleware pode capturar e tratar erros que ocorram durante o processamento da requisição. Isso garante que sua aplicação não pare de funcionar quando surgirem problemas inesperados;
  • CORS (Compartilhamento de Recursos entre Origens): Middleware pode adicionar cabeçalhos CORS às respostas, permitindo ou negando requisições de diferentes domínios. Isso é essencial para proteger suas APIs e permitir o acesso de páginas hospedadas em diferentes origens.
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.56

bookIntrodução ao Middleware no Express.js

Deslize para mostrar o menu

🤔 Compreendendo Middleware

Middleware permite processar requisições antes que elas alcancem os manipuladores de rotas. Atua como um filtro para as requisições recebidas, fornecendo uma maneira de executar várias tarefas no ciclo de requisição-resposta. Funções middleware recebem três argumentos: um objeto de requisição (req), um objeto de resposta (res) e uma função next, que é utilizada para passar o controle para o próximo middleware na cadeia.

Imagine um cano de água pelo qual a água flui. A água é bombeada por uma extremidade do cano e passa por manômetros e válvulas, nossos middlewares, antes de chegar ao seu destino - nosso copo. O ponto crítico dessa analogia é que a ordem desses manômetros e válvulas importa.

Da mesma forma, funções middleware no Express.js são executadas em uma ordem específica, tornando a ordem de registro dos middlewares crucial para a funcionalidade da aplicação.

🏃‍♂️ Middleware em Ação

Vamos inserir nosso próprio middleware em nossa aplicação antes de chamar qualquer rota.

app.use((req, res, next) => {
  console.log('Our middleware');
  next();
});

Esta função não faz nada, apenas permite que o fluxo passe por ela, mas nossa mensagem sempre aparecerá no console.

Esta função não executa nenhuma tarefa específica; ela apenas passa o fluxo por si mesma. No entanto, serve para ilustrar como o middleware funciona no pipeline do Express.js. Neste exemplo, sempre que uma requisição for feita à nossa aplicação Express.js, Our middleware será registrado no console.

🛤️ Propósito do Middleware

O middleware pode servir a diversos propósitos em uma aplicação Express.js, incluindo:

  • Registro de logs: Middleware pode registrar detalhes da requisição como o método HTTP, URL e timestamp, fornecendo informações sobre o tráfego que seu servidor está processando;
  • Autenticação: Middleware pode verificar se um usuário está autenticado antes de permitir o acesso a determinadas rotas. Isso é frequentemente utilizado para proteger partes sensíveis da aplicação;
  • Validação: Middleware pode validar os dados da requisição antes de processá-los. Por exemplo, pode verificar se os dados enviados em uma requisição POST estão no formato correto;
  • Tratamento de erros: Middleware pode capturar e tratar erros que ocorram durante o processamento da requisição. Isso garante que sua aplicação não pare de funcionar quando surgirem problemas inesperados;
  • CORS (Compartilhamento de Recursos entre Origens): Middleware pode adicionar cabeçalhos CORS às respostas, permitindo ou negando requisições de diferentes domínios. Isso é essencial para proteger suas APIs e permitir o acesso de páginas hospedadas em diferentes origens.
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 7
some-alt