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;
}
}