Semana 05: Data Transfer
public class Persona {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
String username;
String password;
String name;
Integer age;
}
Usado para transferir datos entre diferentes capas de una aplicación (e.g., el controlador y servicio). También nos puede servir para validar nuestros atributos.
¡Creemos nuestro primer DTO!
Una característica principal del DTO es no tener lógica de negocio y puedes tener múltiples DTOs para una misma entidad.
Es necesario transferir los atributos entre nuestro entity y DTO para usarlos donde necesitemos.
Podemos hacerlo manualmente o a través de un mapper.
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>3.0.0</version>
</dependency>
Existen diversas anotaciones que podemos utlizar para validar nuestro DTO
@NotNull
@Size
Se emplea la anotación @Valid para indicar que se deben aplicar las validaciones al DTO.
Implemente 1 DTO
en el método de creación de Song, capture las excepciones que se produzcan y muestre un mensaje personalizado para el usuario