1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package com.taiji.system.util;
-
- import com.taiji.system.enums.ResultStatusEnum;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.validation.FieldError;
- import org.springframework.web.bind.MethodArgumentNotValidException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
- import org.springframework.web.context.request.WebRequest;
- import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
-
- /***
- * <p>
- * 全局异常处理
- * </p>
- * @author hou yi
- * @date 2022/7/27 11:17
- **/
- @RestControllerAdvice
- @SuppressWarnings("all")
- public class GlobalExceptionHandle extends ResponseEntityExceptionHandler {
-
- @ExceptionHandler(RuntimeException.class)
- public ResultWrapper<Object> customException(RuntimeException e) {
- // 全局异常处理
- return new ResultWrapper(ResultStatusEnum.GLOBAL_EXCEPTION.getCode(), e.getMessage(), null);
- }
-
- @Override
- protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, HttpHeaders headers,
- HttpStatus status, WebRequest request) {
- // 参数校验异常统一处理
- final StringBuilder builder = new StringBuilder();
- for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
- final String message = fieldError.getDefaultMessage();
- builder.append(message);
- break;
- }
- return ResponseEntity.ok(new ResultWrapper(ResultStatusEnum.PARAMETER_ERROR.getCode(), builder.toString(), null));
- }
-
- }
|