ANÚNCIO

~/questoes/programacao

Qual é a função principal do Router do Express em uma aplicação modular?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Curso de Node JS Aula 13 Usar Router e finalizar projeto
Para fixar

Router do Express: Organizando Rotas de Forma Modular

Conceito central

O Router do Express é um middleware especializado que permite agrupar e gerenciar rotas da aplicação em arquivos separados, mantendo o código limpo e escalável. Ele funciona como um mini-aplicativo que pode ser importado e registrado na aplicação principal através do app.use().

Por que essa resposta faz sentido

O Router organiza e gerencia rotas permitindo que sejam definidas em módulos separados. Isso evita ter todas as rotas em um único arquivo, tornando a aplicação mais fácil de manter e escalar conforme cresce. É um padrão essencial para projetos profissionais.

Armadilhas comuns

  • Confundir Router com banco de dados: o Router só organiza rotas, não acessa dados diretamente.
  • Chamar app.use(routes) antes de app.use(express.json()): a ordem dos middlewares importa, pois requisições POST e PUT precisam que o JSON seja parseado antes das rotas processarem.
  • Colocar toda lógica do projeto em um único arquivo de rotas ao invés de separar em controllers e repositórios.

Entenda as alternativas

A

O Router não estabelece conexão direta com banco de dados. Essa responsabilidade pertence aos repositórios ou ao padrão Repository Pattern, que fica em uma camada separada abaixo dos controllers.

B

O Router não criptografa respostas. Segurança e criptografia são responsabilidades de middlewares específicos de autenticação e HTTPS, não do Router.

C

O Router não valida dados automaticamente. Essa tarefa é feita por middlewares de validação ou pelos controllers. O Router apenas direciona requisições para os endpoints corretos.

D

O Router agrupa e organiza rotas em módulos separados. Você cria um arquivo routes.js com suas rotas e importa na aplicação principal, mantendo o código modular e fácil de manter.

Dica prática: Sempre lembre da ordem correta: imports → app.use(express.json()) → app.use(routes). Se suas requisições POST não funcionarem, a primeira coisa a verificar é se express.json() está sendo chamado antes das rotas.

Revise pensando: Se você movesse app.use(routes) para antes de app.use(express.json()), qual tipo de requisição deixaria de funcionar e por quê?