Essa é a classe de Validação:
package config.validation;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.http.HttpStatus;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class ValidationErrorHandler {
@Autowired
private MessageSource messageSource;
@ResponseStatus(code = HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public List<ErroFormDto> handle(MethodArgumentNotValidException exception) {
List<ErroFormDto> dto = new ArrayList<>();
List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors();
fieldErrors.forEach(e -> {
String mensagem = messageSource.getMessage(e, LocaleContextHolder.getLocale());
ErroFormDto erro = new ErroFormDto(e.getField(), mensagem);
dto.add(erro);
});
return dto;
}
}
Esse é a classe do DTO:
package config.validation;
public class ErroFormDto {
private String campo;
private String erro;
public ErroFormDto(String campo, String erro) {
super();
this.campo = campo;
this.erro = erro;
}
public String getCampo() {
return campo;
}
public String getErro() {
return erro;
}
}
E aqui o postman:
Não inseri mais nada do projeto, nenhuma referencia chamando essas classes, não sei se é por isso que não exibe nada.