Como usar ModelMapper em Kotlin com Spring Boot
No desenvolvimento Backend com Java Spring, uma biblioteca muito usada para fazer a mudança de um tipo de classe para outro é a Model Mapper, que está fortemente atrelada ao uso de DTO’s no desenvolvimento.
Porém, não podemos usar essa biblioteca em Kotlin. Portanto, precisamos achar outra maneira de realizar essa mudança. E podemos fazer isso da seguinte maneira:
Vamos criar uma interface, que aqui chamei de “Mapper”, passando os dois tipos que quero fazer a mudança, o DTO e a nossa entidade, que chamei de MODEL.
A partir disso, criei duas funções, uma que irá trocar da nossa Entidade e retornar um DTO:
fun fromEntity(entity:MODEL) : DTO
e a outra que recebe nosso DTO e retorna nossa Entidade:
fun toModel(domain:DTO) : MODEL
Feito isso, criaremos uma classe que implementará nossa interface “Mapper” da seguinte maneira:
Implementaremos nossas duas funções e passaremos os respectivos parâmetros esperados, a partir disso, poderemos instanciar nossa classe RunMapper e utilizar nossos métodos para fazer o mapeamento das classes, sem libs externas :)
Note que podemos usar qualquer e quantas classes quisermos para mapearmos, como nesse exemplo:
Na qual trocamos de REQUEST para DTO e em seguida de DTO para RESPONSE. Veja que utilizamos 3 classes ao invés de duas.
E é assim que se faz Model Mapper em Kotlin :)
Qualquer dúvida, me contacte.