Teria dado certo se eu recebesse uma entidade ao invés de um DTO ali?
Teria dado certo se eu recebesse uma entidade ao invés de um DTO ali?
Olá Rodrigo!
Entendi sua dúvida sobre a utilização de uma entidade ao invés de um DTO com o @RequestBody
. No contexto do desenvolvimento de APIs com Spring Boot, é uma prática comum usar DTOs (Data Transfer Objects) para transferir dados entre a camada de apresentação e a camada de serviço. Isso ajuda a manter uma separação clara entre as camadas e facilita a manutenção e evolução do código.
Se você tentar receber uma entidade diretamente no método do controller, vai funcionar sim, mas há algumas considerações importantes:
Acoplamento: Usar entidades diretamente pode acoplar sua API à estrutura do banco de dados. Se a estrutura da entidade mudar, isso pode impactar diretamente na API, exigindo alterações em múltiplas partes do sistema.
Segurança: Com DTOs, você pode controlar exatamente quais dados são expostos ou aceitos pela API. Isso é importante para evitar que dados sensíveis ou desnecessários sejam manipulados diretamente.
Validação: Os DTOs permitem que você defina regras de validação específicas para os dados que estão sendo recebidos, o que pode ser diferente das regras de validação que você aplicaria às entidades do banco de dados.
Simplicidade: DTOs podem ser mais simples e leves do que as entidades, contendo apenas os campos necessários para uma operação específica, o que pode melhorar a performance e a clareza do código.
Espero ter ajudado e bons estudos!