连初级都算不上的代码小白 2024-03-11 17:28 采纳率: 52.4%
浏览 3
已结题

SpringBoot拦截器问题


@RestController
@RequestMapping("/user")
public class UserController {
 @GetMapping("/me")
    public Result me(){
        return Result.ok();
    }
}

img


点击我的后会访问个人主页跳转到登录界面

img


登录成功后如果controller是上面这样的话、
F12中network看不到发送的user/me请求,点击个人主页又会跳转到登录界面
如果controller是下面这样的话


 @GetMapping("/me")
    public Result me(){
       
       UserDTO userDTO =new UserDTO(6l,"jack","123");
        log.debug("{}",userDTO);
       return Result.ok(userDTO); //如果data为null时、登录成功后不会跳转到主页(调试显示没有调用此方法?)
    }

则点击个人主页会展示个人主页信息、network中发现发送了一个请求user/me
拦截器相关配置如下

@Component
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("登录拦截器正在拦截中...");  
        return true; 
    }

public class WevMvcConfig implements WebMvcConfigurer {
    @Resource
    LoginInterceptor loginInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        log.info("开始注册自定义拦截器...");
        registry.addInterceptor(loginInterceptor)
                .excludePathPatterns(
                        "/shop/**",
                        "/voucher/**",
                        "/shop-type/**",
                        "/upload/**",
                        "/blog/hot",
                        "/user/code",
                        "/user/login"
                ).order(1); //拦截器的执行顺序、越小越早
    }
}
  • 写回答

6条回答 默认 最新

  • 关注

    点击主页后实际是访问info.html 、该方法绑定一个vue、创建时发送axios

    queryUser() {
            // 查询用户信息
            axios.get("/user/me")
              .then(({data}) => {
                // 保存用户
                this.user = data;
                // 查询用户详情
                this.queryUserInfo();
                // 查询用户笔记
                this.queryBlogs();
              })
              .catch(err => {
                location.href = "login.html"
              })
          },
    

    不知怎得、发生了异常、所以到了login页面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日