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

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

登录成功后如果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); //拦截器的执行顺序、越小越早
}
}