Commit b0ea1b7b by 田超

新增异常统一处理

parent d2b21c0d
......@@ -9,7 +9,10 @@ import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
......@@ -22,6 +25,8 @@ import com.pcloud.common.permission.PermissionException;
import feign.FeignException;
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
import java.util.List;
/**
*
* @描述:异常集中处理
......@@ -92,6 +97,23 @@ public class GlobalExceptionHandler {
LOGGER.warn("【响应未结束】" + exception.getMessage(), exception);
return new ResponseEntity<>("响应未结束!", HttpStatus.OK);
}
else if (exception instanceof MethodArgumentNotValidException) {
LOGGER.info("【参数异常】" + exception.getMessage(), exception);
MethodArgumentNotValidException methodArgumentNotValidException = (MethodArgumentNotValidException) exception;
ResponseDto<Object> responseDto = new ResponseDto<>();
BindingResult bindingResult = methodArgumentNotValidException.getBindingResult();
String resultMessage = "参数异常:";
List<FieldError> fieldErrors = bindingResult.getFieldErrors();
for (int i = 0;i<fieldErrors.size();i++) {
if(fieldErrors.size()==1 || i == fieldErrors.size()-1){
resultMessage += fieldErrors.get(i).getDefaultMessage();
}else {
resultMessage += fieldErrors.get(i).getDefaultMessage() + ", ";
}
}
responseDto.setMessage(resultMessage);
return new ResponseEntity<>(responseDto, HttpStatus.OK);
}
// 业务异常
else if (exception instanceof BizException) {
LOGGER.info("【业务异常】" + exception.getMessage(), exception);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment