Au 05 - Back-end - Node.js - Salvando Produto - Mestres BEGIN
Nesta aula, focamos na implementação prática para salvar produtos no banco de dados MongoDB, organizando melhor a estrutura do projeto e criando o mecanismo de persistência dos dados.
Organização do Projeto
Para melhorar a organização do código, criamos uma nova estrutura de pastas:
- useCases/products/ - Onde colocamos a lógica específica para operações com produtos
- CreateProduct.ts - Arquivo dedicado à criação de produtos
Essa separação ajuda a manter o código mais limpo e modular, mesmo que inicialmente pareça mais trabalho.
Fluxo de Criação de Produtos
O processo de criação envolve:
- Receber os dados do produto via requisição POST
- Validar a estrutura dos dados recebidos
- Persistir os dados no MongoDB
- Retornar a resposta adequada ao cliente
Comunicação via JSON
Um ponto crucial foi configurar o Express para trabalhar com JSON:
1app.use(express.json());
Esta configuração deve ser feita antes das definições de rota e conexão com o banco de dados, permitindo que nossa API entenda e responda no formato JSON.
Lógica Assíncrona
Operações com banco de dados são assíncronas por natureza. Utilizamos async/await
para garantir que:
- A aplicação aguarde a conclusão da operação no banco
- Não prossiga para a próxima instrução antes de finalizar a atual
- Tenhamos controle sobre o fluxo de execução
Considerações Finais
Nesta implementação inicial, estabelecemos as bases para:
- Uma arquitetura mais organizada com separação de responsabilidades
- Comunicação eficiente entre cliente e servidor via JSON
- Persistência básica de dados no MongoDB
Algumas melhorias importantes para as próximas etapas incluem:
- Validação mais robusta dos dados recebidos
- Tratamento adequado de erros e exceções
- Implementação de testes automatizados
- Criação de um mecanismo para evitar duplicação de dados
Embora esta seja uma implementação inicial, ela já demonstra boas práticas de desenvolvimento backend e prepara o terreno para funcionalidades mais complexas que serão adicionadas nas próximas aulas.