Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

NullPointerException ; "this.messageSource" is null

package br.com.escola.Forum.config.validation;

@RestControllerAdvice
public class ErroDeValidacaoHandler {

    private MessageSource messageSource;

    @ResponseStatus(code = HttpStatus.BAD_REQUEST)
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public List<ErroDeValidacaoDto> handler(MethodArgumentNotValidException exception) {
        List<ErroDeValidacaoDto> erros = new ArrayList<>();

        List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors();
        fieldErrors.forEach(e -> {
            String mensagem = messageSource.getMessage(e, LocaleContextHolder.getLocale());
            ErroDeValidacaoDto erro = new ErroDeValidacaoDto(e.getField(), mensagem);
            erros.add(erro);
        });

        return erros;
    }
}

Cannot invoke "org.springframework.context.MessageSource.getMessage(org.springframework.context.MessageSourceResolvable, java.util.Locale)" because "this.messageSource" is null

Classe ErroDeValidacaoDto

package br.com.escola.Forum.config.validation.dto;
public class ErroDeValidacaoDto {

    private String campo;
    private String mensagem;

    public ErroDeValidacaoDto(String campo, String mensagem) {
        this.campo = campo;
        this.mensagem = mensagem;
    }

    public String getCampo() {
        return campo;
    }

    public String getMensagem() {
        return mensagem;
    }

}
2 respostas
solução!

Oi Mário,

Faltou adicionar a anotação @Autowired no atributo messageSource da classe ErroDeValidacaoHandler.

Bons estudos!

Nossa professor, que falta de atenção da 0 pra ele, kkk muito obrigado, e de quebra vai uns elogios, parabéns pelo trabalho, meu instrutor preferido sem sombra de duvidas !! Abraços