CS2031:

Desarrollo Basado en Plataformas

Semana 05: Data Transfer

Contenido

  • ¿Por qué es necesario?
  • Data Transfer Object (DTO)
  • De un Entity a DTO y de DTO a un Entity
  • Validaciones - @Valid
  • Actividad: Creación de DTO y Exceptions

El caso de la Contraseña

public class Persona {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    Long id;
    
    String username;
    
    String password;

    String name;

    Integer age;
}

Información Resumida

Data Transfer Object

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.

Mapeo entre Clases

Es necesario transferir los atributos entre nuestro entity y DTO para usarlos donde necesitemos.

 

Podemos hacerlo manualmente o a través de un mapper.

Model Mapper

<dependency>
  <groupId>org.modelmapper</groupId>
  <artifactId>modelmapper</artifactId>
  <version>3.0.0</version>
</dependency>

Anotaciones para validar

Existen diversas anotaciones que podemos utlizar para validar nuestro DTO

@NotNull

@Size

@Email

@Valid

Se emplea la anotación @Valid para indicar que se deben aplicar las validaciones al DTO.

Actividad

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

 

References

Made with Slides.com