Spring Boot 实现登录注册
1. 注册
业务逻辑
- 客户端输入注册时需要的用户参数,比如:账户名、密码、确认密码、其他
- 服务端接收到客户端的请求参数进行校验,然后判断是否有误,有误的地方就将错误信息抛出
- 将密码进行加密之后存储到数据库中,切记不能以明文的方式存入
- 返回用户的id作为注册成功之后的返回信息
具体实现 + 代码
-
controller 层
- 封装请求参数 UserRegisterRequest
- 判断请求参数是否为空
- 调用service的注册方法将请求参数传递给注册方法
@PostMapping("/register") public BaseResponse<Long> userRegister(@RequestBody UserRegisterRequest userLoginRequest) { if(userLoginRequest == null) { throw new BusinessException(ErrorCode.PARAMS_ERROR); } String userAccount = userLoginRequest.getUserAccount(); String userPassword = userLoginRequest.getUserPassword(); String checkPassword = userLoginRequest.getCheckPassword(); if(StringUtils.isAnyBlank(userAccount, userPassword, checkPassword)) { throw new BusinessException(ErrorCode.PARAMS_ERROR); } long result = userService.userRegister(userAccount, userPassword, checkPassword); return ResultUtils.success(result); }
-
service 层
- 判断请求参数对象是否为空 使用 StringUtils工具进行判断[需要下载org.apache.commons-lang3依赖]
- 校验参数:
- 账户名长度 < 3
- 密码长度 < 4
- 密码和确认密码是否相等
- 用户名、密码、确认密码是否为空
- 创建一个查询对象来确保账户是唯一的不能重复注册
- 密码加密
- 创建一个user对象,将用户信息存储到数据库中
@Override public long<