Erro no Insomnia ao fazer requisições em API Spring Boot

A mensagem de erro no Insomnia:

“Text ‘2018-08-01’ could not be parsed at index 2”

Mensagem de erro que aparece no console da IDE, quando a requisição é feita (pode ser qualquer uma, get, delete, post e put):

WARNe[0;39m e[35m3008e[0;39m e[2m—e[0;39m e[2m[nio-8080-exec-1]e[0;39m e[36m.m.m.a.ExceptionHandlerExceptionResolvere[0;39m e[2m:e[0;39m Resolved [org.modelmapper.MappingException: ModelMapper mapping errors:1) Error mapping com.higormorais.model.entities.Divida to com.higormorais.dto.DividaDTO1 error]

O código do projeto: https://github.com/HigalLegal/cadastroDeDividas

Me parece ser um erro envolvendo a classe DividaDTO. Mas o que é, exatamente, eu não sei.

Acredito que problema esteja nessa parte:

DividaDTO

public void setData(String data) {
  this.data = LocalDate.parse(data, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
}

Pode ser que a data recebida como parâmetro esteja num formato diferente, ex: 2018-08-01.


Reparei que vc tem umas camadas meio que desnecessárias no seu projeto. O fluxo que vi foi:

  • DividaRepository: Que devolve uma entidade Divida
  • DividaService: Que devolde uma DividaDTO
  • DividaDTO: Que é convertida para um DividaResponse
  • DividaResponse: Que é devolvida na requisição
  • DividaController: Apenas o endpoint

Me parece bem desnecessário ter esses dois: DividaDTO e DividaResponse, pois, aparentemente, vc poderia usar somente 1 sem ter prejuizo no seu projeto. Sem falar que vc está usando uma lib para fazer a conversão de um para outro, o que faz vc depender de um negócio externo e não ter o total controle dessas conversões.

E não vejo muito sentido sua classe service devolver um DTO. Seria melhor devolver a entidade e deixar para quem for usar o serviço decidir o que fazer com a entidade retornada.