公告

记录一下自己学习和生活中的所见所闻

Skip to content

用户中心用户注销功能

1. 业务逻辑层

  • UserService 中写 userLogout 方法 image.png

  • 需要返回什么参数?​

查看登录时的逻辑,用户登陆成功,session 中保存了用户的登录态,反之,注销,移除登录态即可

  • UserServiceImpl 中实现方法 image.png

image.png

image.png

  • 修改一下代码,获取 session 中的数据,鼠标指示在 removeAttribute 上,发现返回值是 void,修改一下返回值【后续注销失败抛出异常即可,不需要定义一个返回值】,UserService中也修改一下

可以进入 getSession => HttpSession 中查看一下

image.png

image.png

2. UserController 中编写接口

  • 复制 login 接口的代码进行修改

image.png

image.png

image.png

3. 文件中修改的代码

  • UserService
Java
/**​
 * 用户注销​
 *​
 * @param request​
 * @return
 */
int userLogout(HttpServletRequest request)
  • UserServiceImpl
Java
/**​
 * 用户注销​
 * @param request​
 */
@Override
public int userLogout(HttpServletRequest request) {​
   //移除用户登录态​
       request.getSession().removeAttribute(USER_LOGIN_STATE);​
   return 1;​
}
  • UserController
Java
@PostMapping("/logout")​
public Integer userLogout(HttpServletRequest request){​
   if (request == null) {​
      return null;​
   }​
   return userService.userLogout(request);​
}