后端部分(用户相关接口)
代码仓库:gitee.com/wiedersehen…
注册功能
- 技术点总结
- Spring Validation (在参数校验时)
- 引入validation依赖
- 在参数上添加@Pattern注解,指定校验规则
- 在全局异常处理器中处理参数校验失败的异常
- Spring Validation (在参数校验时)
登录功能
- 技术点总结
- jwt
- 组成
- Header(头),记录令牌类型和签名算法
- PayLoad(载荷),携带自定义的信息
- Signature(签名),对头部和载荷进行加密计算得来
- 注意:Payload部分由Base64编码而成,不能把密码等隐私数据放入claims中
- 使用
- 引入jwt依赖
- 调用Api生成和校验令牌
- 解析令牌
- 组成
- jwt
- 拦截器校验
- 创建拦截器, 写jwt校验代码
2. 创建配置类,并注册拦截器
获取用户信息功能
- 技术点总结
- ThreadLocal (线程安全)
- 用来存取数据:set() / get()
- 使用ThreadLocal存储的数据,线程安全
- 请求结束后释放 remove() ,防止内存泄露
- ThreadLocal (线程安全)
更新用户信息功能
- 技术点总结
- 实体参数校验
-
实体类的成员变量上添加注解
- @NotNull
- @NotEmpty
- @Email(限定邮箱格式)
- @URL(限定必须为url)
-
接口方法的实体参数上添加@Validated注解
-
- 实体参数校验
修改用户密码
- 思路
- 三个参数:oldPwd、newPwd、rePwd(可以封装为一个实体类)
- 从数据库查询对应用户原来的密码并比对
- 比对newPwd和rePwd是否相同
- 调用service和mapper接口实现更改密码