接口刚写好,Swagger测试就访问不了接口了。
查看Chrome开发者工具: 返回200
Provisional headers are shown
查看日志信息。
2018-04-11 09:15:40.266 INFO 4596 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-04-11 09:15:40.266 INFO 4596 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2018-04-11 09:15:40.358 INFO 4596 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 92
后台正常启动。
原本可以很快找到问题,但是阴差阳错加上不够细心,导致问题解决了很久。
1. 通过断点找到问题所在, 首先想到Filter设置断点。
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
// 判断用户是否已经登录
●断点 HttpSession httpSession = httpServletRequest.getSession();
if ("/user/checkLogin".equals(httpServletRequest.getServletPath()) || "/user/login".equals(httpServletRequest.getServletPath())) {
// 放行
filterChain.doFilter(servletRequest, servletResponse);
} else {
if (null != httpSession.getAttribute("simpleUserVO")) {
// 放行
filterChain.doFilter(servletRequest, servletResponse);
}
然后前端访问,结果断点没有进入。我便以为问题出在:不能进入后台。(然后就顺着一路黑下去)
因为需要与前端协同开发,所以当时这里是我连接宽带时的内网地址。(而后,我独自开发之后,连接的是wifi,所以我的IP地址变化了)
所以,我通过前端登录,是进入不了Filter.
问题原因:
最后仍旧Filter断点,在访问Swagger时,进入断点,得知,原来是Swagger,在开发阶段并没有暴露出来。所以,其实是被Filter过滤掉了。