Home
avatar

.lcz

用户中心-下

用户中心-下

用户中心-下

进度

  1. 数据库设计 ✔️

  2. 登录 / 注册

    ​ a. 后端

    ​ i. 规整项目目录 ✔️

    ​ ii. 实现基本数据库操作(操作user表) ✔️

    ​ 1.模型user对象 => 和数据库的字段关联,自动生成

    ​ 2.测试一下

    ​ iii. 写注册逻辑 ✔️

    ​ 1.写逻辑

    ​ 2.单元测试

    ​ iv. 写登录逻辑✅

    ​ b. 前端

  3. 用户管理(仅管理员可见)

    ​ a. 后端✅

    ​ b. 前端

今日计划

  1. 开发完成后端登录功能(单机登录 => 后续改造为分布式 / 第三方登录)✅
  2. 开发后端用户的管理接口(用户的查询 / 删除)✅
  3. 后端接口测试✅

笔记

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重新生成相关代码:

  1. 将User替换,并且逻辑字段加@Tablelogic
  2. UserMapper.xml文件修改User相对路径,以正确进行User类和数据库的字段映射

接口鉴权功能调试:

重新执行登录接口 ——> 重置登录态

写代码流程:

  • 先做设计
  • 代码实现
  • 持续优化!!!(复用代码,提取公共逻辑/常量)

实操

‍‬⁠‌‬‌⁠⁠‬⁠‍‍‌‌‬‬⁠‬‍‍‌⁠‬⁠用户中心下 — 分享版 - 飞书云文档

问题汇总

用户中心

喜欢这篇文章嘛,觉得文章不错的话,奖励奖励我!

支付宝打赏支付宝微信打赏 微信