Migrando legado de uma API procedural/imperativa para POO com NestJS - Parte 3
Автор: Zoranildo Santos
Загружено: 2025-12-08
Просмотров: 14
Neste terceiro vídeo, o foco foi desacoplar o código, garantir a segurança dos dados e padronizar as respostas da API. Utilizamos a IA (Gemini) para validar nossas decisões arquiteturais e garantir que estamos seguindo os princípios do SOLID.
📌 O que implementamos neste vídeo:
• Inversão de Dependência (DIP): Refatoramos o UserUseCase para deixar de depender diretamente do PrismaService. Criamos uma interface IUserRepository na camada de Domínio (Core) e movemos a implementação concreta para a camada de Infraestrutura, aplicando o princípio "D" do SOLID.
• Criptografia de Senha (Bcrypt): Implementamos o hash de senhas utilizando a biblioteca bcrypt. Para manter a arquitetura limpa, evitamos colocar essa lógica na Entidade ou no UseCase; em vez disso, criamos um HashService dedicado (Interface no Core, Implementação na Infra).
• Padronização de Respostas (Interceptors): Desenvolvemos um Interceptor Global no NestJS para formatar o JSON de retorno da API. Agora, todas as requisições retornam um objeto padrão contendo statusCode, message e, opcionalmente, data, eliminando retornos desnecessários.
🚧 Próximos Passos: Como o vídeo ficou longo, deixamos a implementação dos Exception Filters (para tratamento global de erros) e a escrita dos Testes Automatizados para a Parte 4!
🔔 Inscreva-se para acompanhar a implementação do tratamento de erros e testes no próximo episódio!
#NestJS #CleanArchitecture #SOLID #Bcrypt #Interceptors #Backend #TypeScript #DevVlog
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: