Dúvidas sobre Controller, Repository e Service

estou desenvolvendo uma aplicação de agenda com Springboot e Spring Data, porém preciso fazer com que o Controller não receba uma entidade, mas apenas o DTO (sem id), e o Repository não pode receber o DTO. o que foi proposto é que a camada Service faça a conversão dos dois.

estou com dúvida sobre como a camada Service vai fazer isso.

Basicamente tu precisa fazer get de um lado e set do outro, mapeamento atributo por atributo.

Existem libs que fazem este trabalho massante deixando as coisas mais simples para quem está desenvolvendo como por exemplo o ModelMapper e MapStruct.