3
respostas

[Dúvida] O Record no Java possui alguma restricão para nomer os atributos?

Existe alguma restrição no record do java para nomear os atributos? Porque percebi algo estranho ao desenvolver esse projeto. Percebi que quando defino o nome do atributo como uma única palavra funciona corretamente. Eu consigo pegar o valor desse atributo onde preciso. Porém, se coloco uma palavra a mais usando o camelcase, comum no java, dá erro quando tento pegar o valor desse atributo. Ele retorna nulo e lança NullPointerException.

Exemplo abaixo:

//Assim funciona corretamente
public record MedicoDto(String nome, String email, String telefone, String crm, Especialidade especialidade,
                        EnderecoDto endereco) {
}


//Porém, assim com o endereco escrito como "enderecoDto" não funciona
public record MedicoDto(String nome, String email, String telefone, String crm, Especialidade especialidade,
                        EnderecoDto enderecoDto) {
3 respostas

Oi Tarik!

Pode postar aqui o erro e em qual situação ele ocorreu?

Printscreen do erro

Acontece quando deixo o nome do atributo endereco no record MedicoDto como "enderecoDto". Ao tentar fazer uma requisicão POST enviando os dados certinhos obtenho o erro.

public record MedicoDto(String nome, String email, String telefone, String crm, Especialidade especialidade,
                        EnderecoDto enderecoDto) {
                        }

Pelo que pude perceber se no nome do atributo do tipo EnderecoDto eu colocar qualquer palavra única sem camelcase funciona. Mas se ponho uma palavra composta usando o camelcase da ruim.

Entendi.

Posta aqui o json que você está enviando na requisição.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software