1、登录方法:login
@PostMapping("/user/login")
public ResponseVo<User> login(@Valid @RequestBody UserLoginForm userLoginForm,
HttpSession session) {
ResponseVo<User> userResponseVo = userService.login(userLoginForm.getUsername(), userLoginForm.getPassword());
//设置Session
session.setAttribute(MallConst.CURRENT_USER, userResponseVo.getData());
log.info("/login sessionId={}", session.getId());
return userResponseVo;
}
2、获取用户信息:user
//session保存在内存里,改进版:token+redis
@GetMapping("/user")
public ResponseVo<User> userInfo(HttpSession session) {
log.info("/user sessionId={}", session.getId());
User user = (User) session.getAttribute(MallConst.CURRENT_USER);
return ResponseVo.success(user);
}
3、退出方法:logout
@PostMapping("/user/logout")
public ResponseVo logout(HttpSession session) {
log.info("/user/logout sessionId={}", session.getId());
session.removeAttribute(MallConst.CURRENT_USER);
return ResponseVo.success();
}