1
resposta

Erro de exceptionResolver com objeto nulo

Olá, boa noite. Eu vi um tópico com o mesmo erro, porém não consegui solucionar o meu problema com ele. O erro é o seguinte, confirmei no front que as informações estão sendo enviadas corretamente e todas certas, mas ele não reconhece e apenas me retorna isso quando vou salvar. Qualquer outro processo que eu faço funciona, exclusão, paginação...

.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<br.com.caio.Salao.models.Usuario> br.com.caio.Salao.controllers.UsuarioController.salvarUsuario(br.com.caio.Salao.dtos.UsuarioDTO) with 3 errors: [Field error in object 'usuarioDTO' on field 'telefoneUsuario': rejected value [null]; codes [NotBlank.usuarioDTO.telefoneUsuario,NotBlank.telefoneUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.telefoneUsuario,telefoneUsuario]; arguments []; default message [telefoneUsuario]]; default message [não deve estar em branco]] [Field error in object 'usuarioDTO' on field 'emailUsuario': rejected value [null]; codes [NotBlank.usuarioDTO.emailUsuario,NotBlank.emailUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.emailUsuario,emailUsuario]; arguments []; default message [emailUsuario]]; default message [não deve estar em branco]] [Field error in object 'usuarioDTO' on field 'nomeUsuario': rejected value [null]; codes [NotBlank.usuarioDTO.nomeUsuario,NotBlank.nomeUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.nomeUsuario,nomeUsuario]; arguments []; default message [nomeUsuario]]; default message [não deve estar em branco]] ]

Fico muito grato se puder me ajudar, se como no caso que eu vi precisar postar o código no Git só avisar.

1 resposta

Pelo que postou parece um problema com validação. Por conta da anotação @NotBlank o campo "não deve ser nulo e deve conter pelo menos um caractere que não seja espaço em branco". Você pode estar enviando os dados pela view, mas os valores não estão chegando até o ponto da criação desse objeto UsuarioDTO. Tenta debugar ou o velho e bom System.out.println() nesse método salvarUsuario.

A validação ocorre na Class UsuarioDTO nos campos: telefoneUsuario, emailUsuario e nomeUsuario.

A exceção que postou, só dei uma formatada pra entender melhor:

r.com.caio.Salao.controllers.UsuarioController.salvarUsuario(br.com.caio.Salao.dtos.UsuarioDTO) with 3 errors:
[Field error in object 'usuarioDTO' on field 'telefoneUsuario': rejected value [null];

codes [NotBlank.usuarioDTO.telefoneUsuario,NotBlank.telefoneUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.telefoneUsuario,telefoneUsuario]; arguments []; default message [telefoneUsuario]]; default message [não deve estar em branco]] [Field error in object 'usuarioDTO' on field 'emailUsuario': rejected value [null]; 

codes [NotBlank.usuarioDTO.emailUsuario,NotBlank.emailUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.emailUsuario,emailUsuario]; arguments []; default message [emailUsuario]]; default message [não deve estar em branco]] [Field error in object 'usuarioDTO' on field 'nomeUsuario': rejected value [null]; 

codes [NotBlank.usuarioDTO.nomeUsuario,NotBlank.nomeUsuario,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuarioDTO.nomeUsuario,nomeUsuario]; arguments []; default message [nomeUsuario]]; default message [não deve estar em branco]] ]