作者:别他妈给脸不要脸别动老子东西 | 来源:互联网 | 2022-12-06 18:57
如何解决《在春季启动应用程序启动时获取为MethodArgumentNotValidException映射的模糊@ExceptionHandler方法》经验,为你挑选了1个好方法。
1> 小智..:
歧义是因为在两个类(ResponseEntityExceptionHandler,MethodArgumentNotValidException)中都有相同的方法-@ExceptionHandler。您需要按如下所示编写重写的方法来解决此问题-
@Override
protected ResponseEntity handleMethodArgumentNotValid(MethodArgumentNotValidException ex,
HttpHeaders headers, HttpStatus status, WebRequest request) {
String errorMessage = ex.getBindingResult().getFieldErrors().get(0).getDefaultMessage();
List validatiOnList= ex.getBindingResult().getFieldErrors().stream().map(fieldError->fieldError.getDefaultMessage()).collect(Collectors.toList());
LOGGER.info("Validation error list : "+validationList);
ApiErrorVO apiErrorVO = new ApiErrorVO(errorMessage);
apiErrorVO.setErrorList(validationList);
return new ResponseEntity<>(apiErrorVO, status);
}