Poderia ser instanciado um endereço que receba um DTO com os campos que serão atualizados? Para isso eu colocaria as validações para os campos complemento e número que podem ser nulos. Pergunto isso porque pelas validações do DTO DadosEndereco apenas esses dois campos poderiam vir como nulos, certo?
ficaria mais ou menos assim:
public void atualizarInformacoes(@Valid DadosAtualizacaoMedico dados) {
if(dados.nome() != null) {
this.nome = dados.nome();
} else if(dados.telefone() != null) {
this.telefone = dados.telefone();
}else if(dados.endereco() != null) {
this.endereco = new Endereco(dados.endereco());
}
Construtor: tinhamos criado um construtor assim porém sem os ifs, peguei ele e adicionei os ifs para ser utilizado tanto no cadastro quanto na atualização de médicos
public Endereco(DadosEndereco dados) {
this.logradouro = dados.logradouro();
this.bairro = dados.bairro();
this.cep = dados.cep();
this.cidade = dados.cidade();
this.uf = dados.uf();
if(dados.complemento() != null){
this.complemento = dados.complemento();
} if(dados.numero() != null)
this.numero = dados.numero();
}
}
Desde já, agradeço!