1234567891011121314151617181920212223242526272829303132 |
- package cn.cslg.pas.common;
- import cn.cslg.pas.common.core.exception.PermissionException;
- import cn.cslg.pas.common.utils.Response;
- import cn.cslg.pas.common.utils.ResponseEnum;
- import cn.dev33.satoken.exception.NotLoginException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * 全局异常处理
- */
- @RestControllerAdvice // 可指定包前缀,比如:(basePackages = "com.pj.admin")
- public class GlobalException {
- // 全局异常拦截(拦截项目中的所有异常)
- @ExceptionHandler
- public String handlerException(Exception e, HttpServletRequest request, HttpServletResponse response) throws Exception {
- // 打印堆栈,以供调试
- e.printStackTrace();
- if (e instanceof NotLoginException) {
- return Response.error(ResponseEnum.UNAUTHORIZED);
- } else if (e instanceof PermissionException) {
- return Response.error(ResponseEnum.NOT_PERMISSION);
- } else {
- return Response.error(ResponseEnum.SYSTEM_ERROR);
- }
- }
- }
|