ANÚNCIO

Curso de Node JS Aula 13 Usar Router e finalizar projeto

Aprenda a usar Router do Express em Node.js e finalize seu projeto com middleware correto.

⏱ 7min 👁 4.689 visualizações 📅 janeiro 10, 2023

Resumo

Importância da ordem dos middlewares no Express

Esta aula aborda um conceito fundamental no desenvolvimento de APIs REST com Node.js: a ordem correta de execução dos middlewares no Express. O professor Edson Maia demonstra na prática por que chamar o middleware express.json() antes das rotas é essencial para o funcionamento adequado da aplicação. Quando um middleware é registrado com app.use(), ele passa a processar todas as requisições que chegam ao servidor na ordem em que foram declarados. Se o middleware responsável por parsear o corpo da requisição em formato JSON for acionado após as rotas, as requisições POST e PUT não conseguirão acessar os dados enviados no corpo da mensagem, causando erros e comportamentos inesperados.

O papel do Router como middleware

O Router do Express funciona como um middleware especializado em organizar e gerenciar rotas da aplicação. Ao importar um arquivo de rotas externo e registrá-lo com app.use(routes), toda a estrutura de endpoints definida naquele arquivo passa a estar disponível na aplicação principal. Este padrão é fundamental para manter o código limpo, modular e escalável, especialmente em projetos que crescem e precisam de muitas rotas. O Router permite que cada módulo tenha suas próprias rotas bem definidas, facilitando a manutenção e o entendimento da estrutura da API.

Estrutura correta do arquivo principal

O arquivo app.js ou index.js deve seguir uma sequência específica: primeiro fazer os imports das dependências e módulos necessários, depois criar a instância do Express, registrar os middlewares globais (como express.json()) e finalmente adicionar as rotas. Essa ordem garante que todas as requisições sejam processadas pelos middlewares antes de chegar às rotas. O código demonstrado começa com a importação do express e do arquivo de rotas, cria a aplicação Express, configura o middleware JSON e por fim ativa as rotas, estabelecendo o padrão correto.

Problema comum e demonstração prática

O professor propositalmente força um erro na aula para ilustrar o impacto da ordem incorreta dos middlewares. Quando app.use(express.json()) é chamado depois de app.use(routes), as rotas não conseguem ler o JSON enviado nas requisições. Isso afeta operações de criação e atualização de registros (POST e PUT), pois o corpo da requisição não é parseado corretamente. Essa demonstração prática é extremamente valiosa porque mostra que não é apenas sobre conhecer a sintaxe, mas entender o fluxo de processamento da aplicação.

Padrão de organização com CRUD e repositórios

A aula faz parte de um curso mais amplo que aborda padrões de desenvolvimento profissional, incluindo MVC (Model-View-Controller) e Repository Pattern. As rotas criadas com o Router conectam-se aos controllers, que por sua vez utilizam os repositórios para acessar o banco de dados. Este padrão separa as responsabilidades: as rotas definem os endpoints, os controllers gerenciam a lógica de negócio, e os repositórios encapsulam as operações de banco de dados. Assim, a aplicação fica mais testável, manutenível e pronta para crescer.

Métodos principais do CRUD na prática

Ao finalizar o projeto com rotas corretamente configuradas, a aplicação suporta os cinco métodos essenciais do CRUD: create (POST), read (GET), findById (GET com ID), update (PUT), e delete (DELETE). Cada operação é testada com ferramentas como Insomnia, que permite verificar se as requisições estão sendo processadas corretamente. O professor fornece um repositório GitHub com o código completo da aula, permitindo que o estudante veja toda a estrutura implementada e compare com seu próprio projeto.

Ferramentas e tecnologias utilizadas

O desenvolvimento é realizado com Node.js, Express, JavaScript ES6 (com import/export), Insomnia para testes, e um banco de dados conectado via padrão Repository. A aula enfatiza o uso de scripts dev no package.json para facilitar a execução local da aplicação. Todo o código segue convenções modernas de desenvolvimento fullstack, preparando o estudante para projetos reais e colaborativos.

Próximos passos após finalizar o projeto

Com as rotas configuradas corretamente e o CRUD funcionando, o projeto está pronto para evoluções como autenticação, validação de dados, tratamento de erros mais robusto e deploy. A estrutura em camadas (rotas → controllers → repositórios) proposta no curso oferece base sólida para adicionar essas funcionalidades sem refatorar o código existente.

O que você vai aprender

  • Entender a importância da ordem dos middlewares no Express
  • Implementar Router para organizar rotas de forma modular
  • Configurar corretamente express.json() antes das rotas
  • Aplicar padrão Repository e MVC em projetos Node.js
  • Testar requisições CRUD com Insomnia

Conceitos abordados

Tecnologias utilizadas

Capítulos 6 marcações

  1. Introdução e erro propositalmente forçado
  2. Explicação: por que a ordem dos middlewares importa
  3. Estrutura correta do app.js com imports e middlewares
  4. Implementação do Router e rotas modulares
  5. Testando requisições POST, PUT e DELETE no Insomnia
  6. Código final e repositório GitHub

Próximo vídeo sugerido

Avaliações

Avaliação dos alunos 0.0
0 avaliações
Avalie esta aula

Ajude outros alunos a entenderem se esta aula foi útil.

Ainda não há avaliações. Seja o primeiro a avaliar esta aula.