Publicado em: 17/03/2025

Au 06 - Back-end - Node.js - Listagem de produtos - Mestres BEGIN


Nesta aula, focamos na implementação das rotas para listagem de produtos, tanto a completa quanto por ID específico, mantendo a organização do projeto em casos de uso separados.

Estrutura de Casos de Uso

Continuamos com a organização em pastas específicas para cada recurso:

  • useCases/products/ - Contendo operações específicas para produtos
  • ListProducts.ts - Arquivo para listagem completa
  • ListProductById.ts - Arquivo para buscar por ID

Essa estrutura permite fácil expansão para outros recursos como marcas ou categorias no futuro.

Listagem Completa de Produtos

Implementamos a rota GET básica para trazer todos os produtos:

  • Operação assíncrona para aguardar a resposta do banco
  • Uso do método find() do Mongoose sem filtros
  • Retorno direto dos dados encontrados

Observação: Em aplicações reais, esta listagem deveria incluir paginação.

Busca por ID

Como complemento, implementamos a rota para buscar um produto específico:

  • Recebemos o ID como parâmetro na URL
  • Uso do método findById() do Mongoose
  • Diferença entre parâmetros de rota e query parameters

Esta abordagem é útil quando precisamos mostrar detalhes completos de um item específico.

Fluxo das Requisições

O processo completo envolve:

  1. Cliente faz requisição para a rota específica
  2. Servidor recebe e processa a requisição
  3. Banco de dados executa a consulta
  4. Resultados são retornados ao cliente

Considerações Finais

Nesta implementação conseguimos:

  • Completar duas das quatro operações básicas do CRUD
  • Manter uma arquitetura organizada e escalável
  • Demonstrar diferentes formas de buscar dados

Pontos importantes para desenvolvimento:

  • A listagem completa deve sempre considerar paginação em produção
  • Busca por ID precisa de validação do parâmetro recebido
  • Tratamento de erros é essencial (como IDs inválidos)
  • Em casos reais, considerar filtros avançados na listagem

Embora simples, estas implementações formam a base para operações mais complexas que veremos nas próximas aulas, como atualização e remoção de produtos, que aproveitarão muito do que já foi desenvolvido aqui.

Fernando Cunha
Artigo deFernando Cunha

Com mais de 15 anos de experiência em tecnologia e formado pela FAAP em Administração de empresas, hoje é o CEO da Mestres da Web, empresa referência no mercado nacional e com projeções de expansão internacional.

últimos vídeos

veja nossos vídeos mais recentes e esteja por dentro de muitas novidades.

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN
play

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN

Explorando a estrutura gerada pelo Create React App, entendendo o papel das pastas public e src, os conceitos de Virtual DOM, JSX e componentes, além de como o CSS é aplicado nos projetos React.

Autor deste artigo
Fernando Cunha17/03/2025
Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN
play

Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN

Explorando a criação de um layout fixo para a aplicação React, com barra lateral, barra superior e área dinâmica para conteúdo. Utilizando o React Router Dom v6 para gerenciar navegação entre rotas.

Autor deste artigo
Fernando Cunha17/03/2025
Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN
play

Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN

Abordando técnicas para organizar estilos em React, utilizando seletores CSS, CSS Modules, integração com React Router, reset CSS eficiente e boas práticas para garantir consistência visual e manutenibilidade.

Autor deste artigo
Fernando Cunha17/03/2025