1
resposta

Entendimento de um Método

Alguém pode explicar o método abaixo com uma linguagem direcionada para iniciantes? Sempre que há o uso de "lambda" não consigo entender, pois não sei o que ele faz.

public Page obterTodos(Pageable paginacao) { return repository .findAll(paginacao) .map(p -> modelMapper.map(p, PagamentoDto.class)); }

1 resposta

Olá Fábio, tudo bem?

o método findAll do repository retorna uma lista de objetos do tipo Pagamento, que é a nossa entidade. Só que como boa prática, estamos querendo devolver objetos do tipo PagamentoDto (que é um Data Transfer Object) no nosso service. Então, em termos gerais, o que esse código está fazendo no trecho .map(p -> modelMapper.map(p, PagamentoDto.class) é pegar cada um desses objetos retornados (Pagamento) e transformá-los em objetos do tipo PagamentoDto.

O ModelMapper é um framework que faz esses mapeamentos de modelo de forma facilitada e genérica. Por isso que além do map do repository tem também o .map do ModelMapper ali no trecho de código que você citou.

Vou deixar o link da documentação do ModelMapper caso você queira conferir outros métodos e implementações.

http://modelmapper.org/

Caso a dúvida persista, não deixe de nos avisar por aqui.

Bons estudos! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!