5、用户模块接口开发——登录、注销和注册

2023-12-31 12:38

本文主要是介绍5、用户模块接口开发——登录、注销和注册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先看一下工程目录
在这里插入图片描述
创建UserController类

在主方法上加上这两个注释:

@Controller
@RequestMapping("/user/")


在这里插入图片描述
1、登录接口:
Controller: 层

//登录@RequestMapping(value = "login.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<User> login(String username, String password, HttpSession session){//service>> mybatis>>daoServerResponse<User> response= iUserService.login(username,password);if(response.isSussecc()){session.setAttribute(Const.CURRENT_USER,response.getData());}return response;}

Service: 层

  //登录@Overridepublic ServerResponse<User> login(String username, String password) {int resultCount= userMapper.checkUsername(username);if(resultCount==0){return ServerResponse.createByErrorMessage("用户名不存在");}//TODO 密码登录MD5String md5Password=MD5Util.MD5EncodeUtf8(password);User user=userMapper.selectLogin(username,password);if(user==null){return  ServerResponse.createByErrorMessage("密码错误");}user.setPassword(StringUtils.EMPTY);return ServerResponse.createBySuccessMessage("登录成功",user);}

2、注销接口:
Controller 层:

//注销  删除里面的Session即可@RequestMapping(value = "logout.do",method = RequestMethod.GET)@ResponseBodypublic ServerResponse<String> logout(HttpSession session){session.removeAttribute(Const.CURRENT_USER);return ServerResponse.createBySuccess();}

由于只要删除Session,所以不需要涉及到Service层。
3、注册接口:
Controller : 层

  //注册@RequestMapping(value = "regiest.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> regiest(User user){return iUserService.regiest(user);}//校验邮箱或用户名不否能用@RequestMapping(value = "check_valid.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> checkValid(String str,String type){return iUserService.checkValid(str,type);}Service 层//注册方法@Overridepublic ServerResponse<String> regiest(User user){//复用下面的checkValid校验方法ServerResponse validRespose=this.checkValid(user.getUsername(),Const.USERNAME);if(!validRespose.isSussecc()){return validRespose;}validRespose=this.checkValid(user.getEmail(),Const.EMAIL);if(!validRespose.isSussecc()){return validRespose;}user.setRole(Const.Role.ROLE_CUSTOMER);//MD5加密user.setPassword(MD5Util.MD5EncodeUtf8(user.getPassword()));int resultCount=userMapper.insert(user);if(resultCount==0){return ServerResponse.createByErrorMessage ("服务器内部错误,注册失败");}return ServerResponse.createBySuccessMessage("注册成功");}//判断用户名和邮箱是否有效public ServerResponse<String> checkValid(String str,String type){if(StringUtils.isNotBlank(type)){//开始校验if(Const.USERNAME.equals(type)){int resultCount= userMapper.checkUsername(str);if(resultCount>0){return ServerResponse.createByErrorMessage("用户名已存在");}}if(Const.EMAIL.equals(type)){int resultCount=userMapper.checkEmail(str);if(resultCount>0){return ServerResponse.createByErrorMessage("email已存在");}}}else{return ServerResponse.createByErrorMessage("参数错误");}return ServerResponse.createBySuccessMessage("校验成功");}

这篇关于5、用户模块接口开发——登录、注销和注册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556054

相关文章

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件