添加404处理示例

This commit is contained in:
click33
2021-10-02 02:39:37 +08:00
parent e5f751d004
commit 22141193d4
4 changed files with 47 additions and 58 deletions

View File

@@ -19,9 +19,9 @@ import cn.dev33.satoken.stp.StpUtil;
public class SaRouteInterceptor implements HandlerInterceptor {
/**
* 每次进入拦截器的[执行函数]
* 每次进入拦截器的[执行函数],默认为登录校验
*/
public SaRouteFunction function;
public SaRouteFunction function = (req, res, handler) -> StpUtil.checkLogin();
/**
* 创建一个路由拦截器
@@ -56,28 +56,21 @@ public class SaRouteInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// 如果未提供function默认进行登录验证
if(function == null) {
StpUtil.checkLogin();
} else {
// 否则执行认证函数
try {
function.run(new SaRequestForServlet(request), new SaResponseForServlet(response), handler);
} catch (StopMatchException e) {
// 停止匹配进入Controller
} catch (BackResultException e) {
// 停止匹配,向前端输出结果
if(response.getContentType() == null) {
response.setContentType("text/plain; charset=utf-8");
}
response.getWriter().print(e.getMessage());
return false;
try {
function.run(new SaRequestForServlet(request), new SaResponseForServlet(response), handler);
} catch (StopMatchException e) {
// 停止匹配进入Controller
} catch (BackResultException e) {
// 停止匹配,向前端输出结果
if(response.getContentType() == null) {
response.setContentType("text/plain; charset=utf-8");
}
response.getWriter().print(e.getMessage());
return false;
}
// 通过验证
return true;
}
}