视频讲解
1_演示接口
2_演示接口
3_演示接口
4_讲解演示接口
演示的接口 - 37 个
course
- POST
findCourseByCondition - POST
courseUpload - POST
saveOrUpdateCourse - GET
findCourseById - GET
updateCourseStatus
courseContent
- GET
findSectionAndLesson - GET
findCourseByCourseId - POST
saveOrUpdateSection - GET
updateSectionStatus - POST
saveOrUpdateLesson
PromotionSpace
- GET
findAllPromotionSpace - POST
saveOrUpdatePromotionSpace - GET
findPromotionSpaceById
PromotionAd
- GET
findAllPromotionAdByPage - POST
PromotionAdUpload - POST
saveOrUpdatePromotionAd - GET
findPromotionAdById - GET
updatePromotionAdStatus
user
- POST
findAllUserByPage - GET
updateUserStatus - GET
login - GET
findUserRoleById - POST
userContextRole - GET
getUserPermissions
role
- POST
findAllRole - POST
saveOrUpdateRole - GET
findAllMenu - GET
findMenuByRoleId - POST
RoleContextMenu - GET
deleteRole
menu
- GET
findAllMenu - GET
findMenuInfoById - POST
saveOrUpdateMenu
ResourceCategory
- GET
findAllResourceCategory
resource
- POST
findAllResource - POST
saveOrUpdateResource - GET
deleteResource
讲解并演示接口
完成资源分类管理功能
需求分析
- 权限管理模块展示资源列表页面,有一个资源分类按钮

- 点击资源分类,跳转到资源分类页面,对资源分类数据进行维护(增删改查)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuMO0Wjt-1600856107925)(图片/02.jpg)]](https://img-blog.csdnimg.cn/20200923182016554.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjg2MzA3,size_16,color_FFFFFF,t_70#pic_center)
- 后台对应的数据库表为:资源分类表

接口文档
完成资源分类模块的数据维护
资源分类信息查询
名称: findAllResourceCategory
描述: 查询资源分类信息
URL: http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory
请求方式: GET
请求示例
http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory
- 响应参数示例
{
"success": true,
"state": 200,
"message": "响应成功",
"content": [
{
"id": 1,
"name": "角色管理",
"sort": 1,
"createdTime": 1595230906000,
"updatedTime": 1595230906000,
"createdBy": "system",
"updatedBy": "system"
},
...
]
}
添加 & 修改资源分类
名称: saveOrUpdateResourceCategory
描述: 添加 & 修改资源分类接口
URL: http://localhost:8080/ssm_web/ResourceCategory/saveOrUpdateResourceCategory
请求方式: POST
请求示例
// 新增
{
"name": "作业管理",
"sort": 1
}
// 修改
{
"id": 10,
"name": "家庭作业管理",
"sort": 2
}
- 响应参数
| 参数名称 | 类型 |
|---|---|
| success | boolean |
| state | integer(int32) |
| message | string |
| content | object |
删除资源分类
名称: deleteResourceCategory
描述: 删除资源分类接口
URL: http://localhost:8080/ssm_web/ResourceCategory/deleteResourceCategory
请求方式: GET
请求示例
http://localhost:8080/ssm_web/ResourceCategory/deleteResourceCategory?id=1
- 响应数据
| 参数名称 | 类型 |
|---|---|
| success | boolean |
| state | integer(int32) |
| message | string |
| content | object |
完成为角色分配资源功能
需求分析
- 权限管理模块的角色列表页面,可以为角色分配资源

- 当选中某个角色,点击分配资源时,就会显示该角色当前拥有的资源权限信息
例如:点击课程管理员的分配资源按钮,会显示课程管理员拥有哪些的资源权限的信息
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MDjyTVvX-1600856107932)(图片/05.jpg)]](https://img-blog.csdnimg.cn/20200923182117867.jpg#pic_center)
课程管理员所拥有的是课程管理资源分类下的资源权限
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ds4IOPpt-1600856107934)(图片/06.png)]](https://img-blog.csdnimg.cn/20200923182134642.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjg2MzA3,size_16,color_FFFFFF,t_70#pic_center)
前端需要这两组数据进行资源列表的展示:
- 查询资源分类信息 - GET
ResourceCategory/findAllResourceCategory - 资源信息分页 - GET
resource/findAllResource
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9jRL0Wg-1600856107934)(图片/06.jpg)]](https://img-blog.csdnimg.cn/20200923182146668.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjg2MzA3,size_16,color_FFFFFF,t_70#pic_center)
资源列表展示后,需要回显当前角色拥有的资源信息
获取当前角色拥有的资源信息步骤提示
实体类
- 在 ResourceCategory 类中,有一个集合,泛型为 Resource,来表示一对多关系
// 资源集合 一对多
private List<Resource> resourceList = new ArrayList<>();
dao 层
- 在 RoleMapper 中需要编写两个方法
- 方法 1:查询当前角色拥有的资源分类信息
- 方法 2:查询当前角色拥有的资源信息
service 层
- 调用 dao 中的两个方法分别获取资源分类数据和资源数据
- 将资源数据封装到对应的分类下
web 层
- 编写一个接口,参数为角色 id
- 根据角色 id 查询当前角色拥有的资源信息并返回
为角色分配资源步骤提示
实体类
- 创建 RoleResourceRelation 类
public class RoleResourceRelation{
private Integer id;
private Integer resourceId;
private Integer roleId;
private Date createdTime;
private Date updatedTime;
private String createdBy;
private String updatedBy;
// getter setter ...
}
- RoleResourceRelation 对应的是 role_resource_relation 表,该表是一张中间表,记录了角色与资源的对应关系
dao 层
- 方法 1:根据角色 ID 删除角色与资源的关联关系(操作中中间表 role_resource_relation)
- 方法 2:为角色分配资源,删除完成后,插入最新的关联关系
service 层
- 编写一个为角色分配资源的方法
- 先清空之前的关联关系
- 然后补全信息,插入新的关联关系
web 层
- 创建一个 VO 类:RoleResourceVo,用来接收角色 ID 与资源 ID 集合
public class RoleResourceVo {
private Integer roleId;
private List<Integer> resourceIdList;
// getter setter ...
}
- 将接收的数据,交给 service 处理
接口文档
获取当前角色拥有的资源分类和资源信息
名称: findResourceListByRoleId
描述: 获取当前角色拥有的资源分类和资源信息的接口
URL: http://localhost:8080/ssm_web/role/findResourceListByRoleId
请求方式: GET
请求示例
http://localhost:8080/ssm_web/role/findResourceListByRoleId?roleId=3
- 响应数据示例
{
"success": true,
"state": 200,
"message": "成功获取角色的资源信息",
"content": [
{
"id": 4,
"name": "课程管理",
"sort": 4,
"createdTime": 1595230906000,
"updatedTime": 1595230906000,
"createdBy": "system",
"updatedBy": "system",
"resourceList": [
{
"id": 33,
"name": "课程上下架",
"url": "/boss/course/changeState",
"categoryId": 4,
"description": "课程上下架",
"createdTime": 1595230917000,
"updatedTime": 1595230917000,
"createdBy": "system",
"updatedBy": "system"
},
...
]
},
...
]
}
为角色分配资源
- 名称: roleContextResource
- 描述: 为角色分配资源接口
- URL: http://localhost:8080/ssm_web/role/roleContextResource
- 请求方式: POST
- 请求示例
roleId - 角色 id
resourceIdList - 要分配的资源 id
{
"roleId": 5,
"resourceIdList": [1, 2, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
}
- 响应结果示例
| 参数名称 | 类型 |
|---|---|
| success | boolean |
| state | integer(int32) |
| message | string |
| content | object |
想了解更多,欢迎关注我的微信公众号:Renda_Zhang