若依源码心得

我为什么要来读若依的源码

  • SpringBoot学了两三遍;
  • 项目做了一个,里面借鉴了若依的某些源码;
  • 项目不够完善,相关业务逻辑不够完整;

项目架构

注释

  • 控制层:在类上面注明该类的主要相关信息,并表明作者;在方法上面仅添加代码相关义务意思。
  • 服务层:在类上面注明该类的主要相关信息,并表明作者;在方法上面添加代码相关业务意思、方法参数(及简单的说明)、方法返回的是啥(如用户信息集合信息) 【接口层与实现层注释逻辑相同】。
  • 数据层:在类上面注明该类的主要相关信息,并表明作者;在方法上面添加代码相关业务意思、方法参数(及简单的说明)、方法返回的是啥(如用户信息集合信息) 【xml里面就不需要注释了】。
  • 类属性:采用文档注释,可以是一行。
  • 其他:见阿里巴巴编程规范如不要再代码后面进行注释,应在代码上方,内容与// 之间有且仅有一个空格
    ps: 之前一直不明白文档注释是干什么的。阅读源码,将鼠标挪到方法或者常量枚举值上的时候,会出现悬浮窗,会包含文档注释的内容。

业务代码

  • 查询所有:无必要则分页;
  • 根据Id查询:首先判断???
  • 新增:对必要字段进行 checkXxxxxUnique 检查是否唯一;
  • 更改:对必要字段进行 checkXxxxxUnique 检查是否唯一、是否支持更改;删除相关关联后增加相关关联 -> 执行更改信息【更改信息不可更新全部字段!更新需要更新的字段即可】;udateByupdateTime;
  • 删除:是否能够删除?删除相关关联(执行逻辑删除) :抛全局异常
  • 参数校验:如validation
    ps:
  • checkXxxxxUnique: 【SELECT ‘id’, ‘col’ FROM ‘table’ WHERE ‘col’ = #{col} LIMIT 1】

登陆流程

1、/captchaImage – GET 返回一个uuid 和 验证码;

{
    "msg": "操作成功",
    "img": "/9j/4A  节选  M//2Q==",
    "code": 200,
    "captchaOnOff": true,
    "uuid": "42 节选 1f"
}

2、/login – POST

# 形式:json     入参如下: 
{
    "username":"admin",
    "password":"admin123",
    "code":"验证码(可以去redis里面查找,也可以debug打断点获取)",
    "uuid":"唯一码(可去 redis 或 打断点、最简单的是从captchaImage的返回结果获取)"
}
# 登陆成功返回结果如下:
{
    "msg": "操作成功",
    "code": 200,
    "token": "string1.string2.string3 节选 "
}

登陆成功之后 redis 中就会依据【固定头:uuid】来存取该用户的基本信息
3、system/dept – POST

# 记得在 headers 中添加【Authorization:登陆成功返回的 token 值】
{"deptName": "可以的", // 部门名称【非空、[0,30]】【部门名称唯一】
"email": "12312", // 邮箱【符合邮箱格式、长度有限50】
"leader": "童鹤", // 部门负责人
"orderNum": 2, // 排序【非空】
"parentId": 100, // 部门父id【】【父部门状态正常】
"phone": "13912312312", // 电话号【前端会验证格式,后端判断字符长度】
"status": "1" // 部门状态 1表停用
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值