# 实现基本增删改查
在上一章,我们建立一个基础的 SpringBoot 项目并且引入了依赖。本章开始,我们将逐步实现基础增删改查功能和 RBAC 权限体系。
# 实现系统管理模块
系统管理模块,包括:用户、角色、权限的管理,结构如下:
本例中,模块的基本结构如图所示,其中:
- entity: JPA 实体类,与数据库表一一对应。
- dto:用到持久层与前端之间的数据交互。
- vo: 用作前端与后台之间的参数交互。
- mapper :mapStruct 的实体转换接口定义。
篇幅有限,此处就不详细说明增删改查的具体实现了。 具体实现,请参考:源码
# 实现猫咪管理
本例中,我们将以猫咪管理作为授权资源实现 Restful 风格资源的权限管理,所以,猫咪管理只实现了控制器。
权限资源端点如下:
name | Method | Uri |
---|---|---|
新增 | POST | /pet/cats |
删除 | DELETE | /pet/cats/* |
修改 | PUT | /pet/cats |
查看详情 | GET | /pet/cats/* |
列表查询 | GET | /pet/cats |
具体实现,请参考:源码
# 初始化数据
为了后续权限管理功能引入,需要首先对系统资源用户角色等数据进行初始化。
参考序言中的场景约定说明,我们需要初始化的数据如下:
- 添加系统资源:
name | Method | Uri |
---|---|---|
新增 | POST | /pet/cats |
删除 | DELETE | /pet/cats/* |
修改 | PUT | /pet/cats |
查看详情 | GET | /pet/cats/* |
列表查询 | GET | /pet/cats |
可通过 API DOC 界面直接添加。访问:http://localhost:1000/doc.html,如下所示:
添加角色 分别添加角色:ADMIN 、USER
- ADMIN 权限: 具备所有资源权限。
- USER 权限: 查看详情、列表查询
添加用户 分别添加用户: Tom 、Lucy
- Tom 具备角色: ADMIN,USER
- Lucy 具备角色: USER