Tive problemas para atualizar os dados do paciente, percebi que se a record DadosAtualizacaoPaciente estiver assim:
public record DadosAtualizacaoPaciente(
@NotNull
Long id,
String nome,
String telefone,
@Valid DadosEndereco endereco) {
}
Com o @Valid nos DadosEndereco, quando tento atualizar os dados pelo Insomnia, exemplo o nome do paciente, retorna o erro 400. São 174 linhas da descrição do retorno do erro, mas basicamente ele ignora essa linha de comando do public void atualizarInformacoes da classe Paciente
if (dados.endereco() != null) {
this.endereco.atualizarInformacoes(dados.endereco());
}
e retorna todos os erros referente ao impedimento de campo em branco 'NotBlank' do endereço.
Mas quando retiro o @Valid, ficando assim:
public record DadosAtualizacaoPaciente(
@NotNull
Long id,
String nome,
String telefone,
DadosEndereco endereco) {
}
Ficando igual ao do médico.
public record DadosAtualizacaoMedico(
@NotNull
Long id,
String nome,
String telefone,
DadosEndereco endereco) {
}
Ele funciona.