Olá professor muito boa tarde
Estou com um problema null nas entidades ao criar o construtor não estou conseguindo resolver.
- MEDICO CONTROLLER:
@RestController
@RequestMapping("medicos")
public class MedicoController {
@Autowired
private MedicoRepository repository;
@PostMapping
@Transactional
public void cadastra(@RequestBody DadosCadastroMedico dados) {
repository.save(new Medico(dados));
}
}
- DADOS CADASTRO MEDICO:
public record DadosCadastroMedico(String nome,
String email,
String crm,
Especialidade especialidade,
DadosEndereco dadosEndereco) {
}
- DADOS ENDERECO:
public record DadosEndereco(String logradouro,
String bairro,
String cep,
String cidade,
String uf,
String numero,
String complemento) {
}
- MEDICO:
```@Table(name = "medicos")
@Entity(name = "Medico")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")
public class Medico {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private String crm;
@Enumerated(EnumType.STRING)
private Especialidade especialidade;
@Embedded
private Endereco endereco;
public Medico(DadosCadastroMedico dados) {
this.nome = dados.nome();
this.email = dados.email();
this.crm = dados.crm();
this.especialidade = dados.especialidade();
this.endereco = new Endereco(dados.dadosEndereco()); --------->ACREDITO QUE O PROBLEMA COMEÇA AQUI .
}
}
- ENDERECO
@Embeddable
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Endereco {
private String logradouro;
private String bairro;
private String cep;
private String cidade;
private String uf;
private String numero;
private String complemento;
public Endereco(DadosEndereco endereco) {
/* if (endereco == null) {
throw new IllegalArgumentException("DadosEndereco is null");
}
*/
this.logradouro = endereco.logradouro();
this.bairro = endereco.bairro();
this.cep = endereco.cep();
this.cidade = endereco.cidade();
this.uf = endereco.uf();
this.numero = endereco.numero();
this.complemento = endereco.complemento();
}
}
E assim minhas Class Medico,Endereco,MedicoController = null uque eu posso fazer?
NO CURSO ESTA DESSA FORMA
(this.endereco = new Endereco(dados.endereco()); mas ao fazer isso a idea me da uma opção de criar o construtor na classe DadosCadastroMedico e uma segunda opção de mudar o nome dados."nome" a unica forma consegui criar o contrutor na entidade Endereco foi usando "dados.dadosEndereco()".