diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/interceptor/BaseAuthInterceptor.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/interceptor/BaseAuthInterceptor.java index 299d4db8..20828224 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/interceptor/BaseAuthInterceptor.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/interceptor/BaseAuthInterceptor.java @@ -7,6 +7,7 @@ import fun.asgc.neutrino.proxy.server.constant.EnableStatusEnum; import fun.asgc.neutrino.proxy.server.constant.ExceptionConstant; import fun.asgc.neutrino.proxy.server.dal.entity.UserDO; import fun.asgc.neutrino.proxy.server.service.UserService; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.noear.solon.Solon; import org.noear.solon.annotation.Component; import org.noear.solon.core.handle.Action; @@ -68,6 +69,18 @@ public class BaseAuthInterceptor implements RouterInterceptor { if (result instanceof ResponseBody) { return result; } + if (result instanceof ServiceException) { + ServiceException exception = (ServiceException) result; + return new ResponseBody<>() + .setCode(exception.getCode()) + .setMsg(exception.getMsg()); + } + if (result instanceof Throwable) { + new ResponseBody<>() + .setCode(ExceptionConstant.SYSTEM_ERROR.getCode()) + .setMsg(ExceptionConstant.SYSTEM_ERROR.getMsg()) + .setStack(ExceptionUtils.getStackTrace((Throwable) result)); + } return new ResponseBody<>() .setCode(0) .setData(result);