Olá, estou criando um controller para cadastrar clientes e a JPA está me devolvendo uma NullPointexception: Cannot invoke "syshotel.com.api.domain.cliente.CLientePjRepository.save(Object)" because "this.cLientePjRepository" is null. Segue abaixo a minha classe controller:
@RestController
@RequestMapping("/clientes")
public class ClienteController {
@Autowired
private ClientePfRepository clientePfRepository;
@Autowired
private CLientePjRepository cLientePjRepository;
@Autowired
private EnderecoRepository enderecoRepository;
@Autowired
private TelefoneRepository telefoneRepository;
@PostMapping
@Transactional
private void cadastrar(@RequestBody DadosCadastroCliente dados){
if(dados.isJuridico()){
var clientePj = cLientePjRepository.save(new PessoaJuridica(dados.razaoSocial(), dados.nomeFatasia(), dados.cnpj(),
dados.email()));
var endereco = dados.endereco();
var telefone = dados.telefone();
for (DadosEndereco item : endereco){
var enderecoPj = new Endereco(item, null, clientePj);
enderecoRepository.save(enderecoPj);
}
for (DadosTelefone item : telefone){
var telefonePj = new Telefone(item, null, clientePj);
telefoneRepository.save(telefonePj);
}
} else if(!dados.isJuridico()){
var clientePf = clientePfRepository.save(new PessoaFisica(dados.nome(), dados.dataNascimento(),
dados.cpf(), dados.rg(), dados.sexo(), dados.email()));
var endereco = dados.endereco();
var telefone = dados.telefone();
for (DadosEndereco item : endereco){
var enderecoPj = new Endereco(item, clientePf, null);
enderecoRepository.save(enderecoPj);
}
for (DadosTelefone item : telefone){
var telefonePj = new Telefone(item, clientePf, null);
telefoneRepository.save(telefonePj);
}
}
}
}
No JSON vem informação se o cliente é Pj e o método cadastrar faz a verificção e pesiste de acordo com o tipo de cliente escolhido. Mandei o Seguinte JSON:
{
"isJuridico": true,
"razaoSocial": "Fábrica de Panelas S/A",
"nomeFantasia": "Panelas de Ouro",
"cnpj": "11111111111111111",
"email": "financeiro@panelasdeouro.com.br",
"endereco": [
{
"cep": "44444444",
"logradouro": "Av das Panelas",
"numero": "44",
"bairro": "Centro",
"cidade": "Taquarana",
"estado": "AL"
},
{
"cep": "55555555",
"logradouro": "Av das Tampas",
"numero": "77",
"bairro": "Árvores",
"cidade": "Taquarana",
"estado": "AL"
}
]
}
Peso que eu entendi, é como se o objeto de vai no método save() do repository do cliente PJ, está NULL, mas ele foi instanciado e o o códico está compilando. Só na hora de cadastrar o cliente que vem esse erro. O que poderá ser?