From bba662ed6ce9b226ebaf3edf6600998b7cd6578d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E7=8E=89=E7=A5=A5?= Date: Mon, 13 Mar 2023 23:56:20 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=E5=9B=9E?= =?UTF-8?q?=E6=BB=9A=E9=94=99=E8=AF=AF=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/GlobalErrorViewController.java | 7 ++--- .../core/handler/GlobalExceptionUtil.java | 26 +++---------------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalErrorViewController.java b/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalErrorViewController.java index 82d3a287..1cfd2517 100644 --- a/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalErrorViewController.java +++ b/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalErrorViewController.java @@ -19,11 +19,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import vip.xiaonuo.common.pojo.CommonResult; -import vip.xiaonuo.common.util.CommonResponseUtil; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; /** * 全局异常页面处理器,覆盖默认的Whitelabel Error Page @@ -42,7 +39,7 @@ public class GlobalErrorViewController { * @date 2022/2/11 16:11 **/ @RequestMapping("/errorView") - public void globalError(HttpServletRequest request, HttpServletResponse response) throws IOException { + public CommonResult globalError(HttpServletRequest request) { CommonResult commonResult = new CommonResult<>(404, "路径不存在", null); Object model = request.getAttribute("model"); if(ObjectUtil.isNotEmpty(model)) { @@ -60,6 +57,6 @@ public class GlobalErrorViewController { exception.printStackTrace(); } log.error(">>> {}", commonResult.getMsg()); - CommonResponseUtil.renderError(response, commonResult.getMsg()); + return commonResult; } } diff --git a/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalExceptionUtil.java b/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalExceptionUtil.java index 7a7466d1..7d21fe35 100644 --- a/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalExceptionUtil.java +++ b/snowy-web-app/src/main/java/vip/xiaonuo/core/handler/GlobalExceptionUtil.java @@ -15,13 +15,11 @@ package vip.xiaonuo.core.handler; import cn.dev33.satoken.exception.SaTokenException; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.Header; import cn.hutool.http.HttpStatus; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.exceptions.PersistenceException; import org.mybatis.spring.MyBatisSystemException; import org.springframework.http.HttpMethod; -import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.validation.BindException; import org.springframework.validation.BindingResult; @@ -35,13 +33,10 @@ import org.springframework.web.multipart.support.MissingServletRequestPartExcept import vip.xiaonuo.auth.core.util.AuthExceptionUtil; import vip.xiaonuo.common.exception.CommonException; import vip.xiaonuo.common.pojo.CommonResult; -import vip.xiaonuo.common.util.CommonResponseUtil; import vip.xiaonuo.common.util.CommonServletUtil; -import javax.servlet.http.HttpServletRequest; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; -import java.io.IOException; import java.util.List; import java.util.Set; @@ -117,22 +112,9 @@ public class GlobalExceptionUtil { //文件上传错误特殊提示 commonResult = CommonResult.error("请选择要上传的文件并检查文件参数名称是否正确"); } else if (e instanceof SaTokenException) { - CommonResult saTokenCommonResult = AuthExceptionUtil.getCommonResult(e); - HttpServletRequest request = CommonServletUtil.getRequest(); - String accept = request.getHeader(Header.ACCEPT.getValue()); - // 此时异常可能是SaToken的过滤器异常,如果是流下载等接口,需要直接渲染异常信息 - if(ObjectUtil.isNotEmpty(accept) && accept.equals(MediaType.APPLICATION_OCTET_STREAM_VALUE)) { - try { - CommonResponseUtil.renderError(CommonServletUtil.getResponse(), e.getMessage()); - return null; - } catch (IOException ioException) { - ioException.printStackTrace(); - commonResult = CommonResult.error("服务器异常"); - } - } else { - // 如果是SaToken相关异常,则由AuthExceptionUtil处理 - return saTokenCommonResult; - } + + // 如果是SaToken相关异常,则由AuthExceptionUtil处理 + return AuthExceptionUtil.getCommonResult(e); } else if(e instanceof MyBatisSystemException) { // 如果是MyBatisSystemException @@ -146,7 +128,7 @@ public class GlobalExceptionUtil { e.printStackTrace(); commonResult = CommonResult.error("数据操作异常"); } - }else { + } else { e.printStackTrace(); commonResult = CommonResult.error("数据操作异常"); }