Bom dia pessoal.
Estou fazendo a requisição GET do "Detralhar Medico", quando disparo a requisição o endereço não é retornado. Perceba que o id do médico é 1
Quando faço a requisição GET, para mostrar o "Detalhar medicos", ele retorna os resultados, porém sem o endereço Essa é a classe o detalhar
@GetMapping("/{id}")
//mudar o void, retorno padrão para um retorno com código 204 - requisição processada sem conteudo //Trocar o void por ResponseEntity que é do próprio Spring public ResponseEntity detalhar(@PathVariable Long id){ var medico = repository.getReferenceById(id); System.out.println("ID"+ id); System.out.println("DADOS MEDICO" + new DadosDetalhamentoMedico(medico));
System.out.println("DADOS ENDERECO" + medico.getEndereco());
//Para retornar os dados do medico pelo id o return deve ser assim*//
return ResponseEntity.ok(new DadosDetalhamentoMedico(medico));
}
Coloquei um System.out.println, e o retorno foi esse
DADOS MEDICODadosDetalhamentoMedico[id=1, nome=Mauricio Mendes, email=mauricio.mendes@voll.med, crm=111226, telefone=99632179, especialiedade=CARDIOLOGIA, endereco=med.voll.api.endereco.Endereco@3d6c27c9]
Notem que o retorno do endereço, veio dessa forma endereco=med.voll.api.endereco.Endereco@3d6c27c9]
O Metodo Medico está assim:
public Medico(DadosCadastroMedicos dados) {
this.ativo = true;
this.nome = dados.nome();
this.email = dados.email();
this.telefone = dados.telefone();
this.crm = dados.crm();
this.especialiedade = dados.especialidade();
this.endereco = new Endereco(dados.endereco());//estanciar a classe endereço e na classe Endereço criar um construtor que recebe como dados.endereco
}
e a classe Endereço está assim:
package med.voll.api.endereco;
import jakarta.persistence.Embeddable; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor;
@Embeddable //notação para referenciar que os dados do indereço serão armazenados na mesma tabela @NoArgsConstructor // criar o construtor padrão sem argumentos que a JPA exige @AllArgsConstructor // cria um construtor que cria todos os campos public class Endereco {
private String logradouro;
private String bairro;
private String cep;
private String numero;
private String complemento;
private String cidade;
private String uf;
public Endereco(DadosEndereco dados) {
//this é para dizer que é para receber os dados das vaiávei criada a cima, as private
this.logradouro = dados.logradouro();
this.bairro = dados.bairro();
this.cep = dados.cep();
this.numero = dados.numero();
this.complemento = dados.complemento();
this.cidade = dados.cidade();
this.uf = dados.uf();
}
Alguém saberia me dizer qual é o problema?
Obrigado