Oi Luís,
Nesse caso o DTO de entrada, com os dados vindos do frontend, vai ter apenas o id do relacionamento. Exemplo:
public class CadastroLivroForm {
private String titulo;
private String descricao;
private BigDecimal preco;
private Integer numeroDePaginas;
private Long idAutor;
//getters e setters
}
No frontend terá uma combobox para o usuário escolher o autor do livro sendo cadastrado, sendo que na requisição será enviado apenas o id do registro selecionado.
Já no dto de saída, dados enviados da API para o frontend, se você quiser devolver os dados do relacionamento pode ter uma composição de objetos:
public class AutorDto {
private Long id;
private String nome;
private String email;
//getters e setters
}
public class LivroDto {
private Long id;
private String titulo;
private BigDecimal preco;
private Integer numeroDePaginas;
private AutorDto autor;
//getters e setters
}
Bons estudos!