|
|
|
@ -6,8 +6,10 @@ import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.validation.BindException; |
|
|
|
|
import org.springframework.web.HttpRequestMethodNotSupportedException; |
|
|
|
|
import org.springframework.web.bind.MissingPathVariableException; |
|
|
|
|
import org.springframework.web.bind.annotation.ExceptionHandler; |
|
|
|
|
import org.springframework.web.bind.annotation.RestControllerAdvice; |
|
|
|
|
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException; |
|
|
|
|
import org.springframework.web.servlet.ModelAndView; |
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult; |
|
|
|
|
import com.ruoyi.common.exception.DemoModeException; |
|
|
|
@ -94,6 +96,29 @@ public class GlobalExceptionHandler
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 请求路径中缺少必需的路径变量 |
|
|
|
|
*/ |
|
|
|
|
@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())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 自定义验证异常 |
|
|
|
|
*/ |
|
|
|
|