用户中心-下
用户中心-下
用户中心-下
进度
数据库设计 ✔️
登录 / 注册
a. 后端
i. 规整项目目录 ✔️
ii. 实现基本数据库操作(操作user表) ✔️
1.模型user对象 => 和数据库的字段关联,自动生成
2.测试一下
iii. 写注册逻辑 ✔️
1.写逻辑
2.单元测试
iv. 写登录逻辑✅
b. 前端
用户管理(仅管理员可见)
a. 后端✅
b. 前端
今日计划
- 开发完成后端登录功能(单机登录 => 后续改造为分布式 / 第三方登录)✅
- 开发后端用户的管理接口(用户的查询 / 删除)✅
- 后端接口测试✅
笔记
cookie和session:
区别:
cookie是一种缓存机制,在客户端浏览器维持会话;
session是一种会话机制,在服务器端维持会话。
cookie容量小,安全性低(用户在本地可直接看到),适用于存储非敏感信息,如用户偏好设置;
session容量大,安全性高,适用于存储敏感信息,如登陆状态、购物车信息;
联系: session 通常依赖于 cookie 来传递 session ID ,以维持用户会话的连续性。
两者都可用于跟踪用户状态,但存储位置和数据量等方面有所不同。
单元测试和接口测试:
复杂业务逻辑 ——> 单元测试
简单业务逻辑 ——> 接口测试
Debug:
项目Debug运行,发起请求进行调试。
F7:步入
F8:执行一行
Shfit + F8:步出
测试接口:
IDEA自带Http Client ——> 个人使用,方便 Postman等第三方测试平台 ——> 团队开发使用,规范
Controller和Service:
Conroller进行简单参数校验;
Service进行复杂业务逻辑,包括参数校验。
复杂业务逻辑可放在Service,简单业务逻辑可偷懒放到Controller里。
代码优化:
复用代码,提取公共逻辑 至 Service;
常量封装至 constant/UserConstant接口,常量大写;因为接口中属性默认public static final
鉴权:
用户查询/删除 接口要进行权限校验,防止接口被恶意调用
设置session有效期:
application.yml配置:
spring:
session:
timeout: 86400 // 一天86400秒
表新增字段:
利用MybatisX重新生成相关代码:
- 将User替换,并且逻辑字段加@Tablelogic
- UserMapper.xml文件修改User相对路径,以正确进行User类和数据库的字段映射
接口鉴权功能调试:
重新执行登录接口 ——> 重置登录态
写代码流程:
- 先做设计
- 代码实现
- 持续优化!!!(复用代码,提取公共逻辑/常量)
实操
用户中心下 — 分享版 - 飞书云文档