Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como retornar o Endereço do Médico no GET

Como que eu faria para retornar o endereço do médico neste record?

public record DadosListagemMedico(Long id, String nome, String email, String crm, Especialidade especialidade) {

    public DadosListagemMedico (Medico medico){
        this(medico.getId(), medico.getNome(), medico.getEmail(), medico.getCrm(), medico.getEspecialidade());
    }
2 respostas
solução!

Oi Jonathan!

Basta declarar mais um atributo e preenchê-lo:

public record DadosListagemMedico(Long id, String nome, String email, String crm, Especialidade especialidade, DadosEndereco endereco) {
    public DadosListagemMedico (Medico medico){
        this(medico.getId(), medico.getNome(), medico.getEmail(), medico.getCrm(), medico.getEspecialidade(), new DadosEndereco(medico.getEndereco()));
    }
}
public record DadosEndereco(
        @NotBlank
        String logradouro,
        @NotBlank
        String bairro,
        @NotBlank
        @Pattern(regexp = "\\d{8}")
        String cep,
        @NotBlank
        String cidade,
        @NotBlank
        String uf,
        String complemento,
        String numero) {

    public DadosEndereco(Endereco endereco) {
        this(endereco.getLogradouro(), endereco.getBairro(), endereco.getCep(), endereco.getCidade(), endereco.getUf(), endereco.getComplemento(), endereco.getNumero());
    }
}

Obrigado pelo retorno @Rodrigo!