|  | @@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.validation.BindException;
 | 
	
		
			
				|  |  |  import org.springframework.web.HttpRequestMethodNotSupportedException;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.MethodArgumentNotValidException;
 | 
	
		
			
				|  |  | +import org.springframework.web.bind.MissingPathVariableException;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.ExceptionHandler;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.RestControllerAdvice;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.constant.HttpStatus;
 | 
	
	
		
			
				|  | @@ -16,6 +17,7 @@ import com.ruoyi.common.core.exception.auth.NotPermissionException;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.exception.auth.NotRoleException;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.utils.StringUtils;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.core.web.domain.AjaxResult;
 | 
	
		
			
				|  |  | +import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 全局异常处理器
 | 
	
	
		
			
				|  | @@ -72,6 +74,26 @@ public class GlobalExceptionHandler
 | 
	
		
			
				|  |  |          return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 请求路径中缺少必需的路径变量
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @ExceptionHandler(MissingPathVariableException.class)
 | 
	
		
			
				|  |  | +    public AjaxResult handleMissingPathVariableException(MissingPathVariableException e, HttpServletRequest request) {
 | 
	
		
			
				|  |  | +        String requestURI = request.getRequestURI();
 | 
	
		
			
				|  |  | +        log.error("请求路径中缺少必需的路径变量'{}',发生系统异常.", requestURI, e);
 | 
	
		
			
				|  |  | +        return AjaxResult.error(String.format("请求路径中缺少必需的路径变量[%s]", e.getVariableName()));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 请求参数类型不匹配
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @ExceptionHandler(MethodArgumentTypeMismatchException.class)
 | 
	
		
			
				|  |  | +    public AjaxResult handleMethodArgumentTypeMismatchException(MethodArgumentTypeMismatchException e, HttpServletRequest request) {
 | 
	
		
			
				|  |  | +        String requestURI = request.getRequestURI();
 | 
	
		
			
				|  |  | +        log.error("请求参数类型不匹配'{}',发生系统异常.", requestURI, e);
 | 
	
		
			
				|  |  | +        return AjaxResult.error(String.format("请求参数类型不匹配,参数[%s]要求类型为:'%s',但输入值为:'%s'", e.getName(), e.getRequiredType().getName(), e.getValue()));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 拦截未知的运行时异常
 | 
	
		
			
				|  |  |       */
 |