权限管理-删除菜单 | 学习笔记

简介: 快速学习 权限管理-删除菜单

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)权限管理-删除菜单】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11529


权限管理-删除菜单


目录:

一、什么是递归删除菜单

二、创建

三、实现

四、检测


一、什么是递归删除菜单

为了效果明显,先增加不相关的菜单,为了删除它,需要进行操作。当删除一个菜单时,需要把它的子菜单也删除。这就叫做递归删除菜单。


二、创建

@ApiOperation(value="递归删除菜单”)

@DeleteMapping("remove/(id”)

public R remove(@PathVariable String id) I

permissionService.removeChildById(id)

return R.ok();


三、实现

递归删除菜单

@Override

public void removeChildByIdGuli(String id)f

//1创建 1ist 集合,用于封装所有删除菜单 id 值

List<String>idList = new ArrayList<>O:

//2 向 idList 集合设置删除菜单 id

this.selectPermissionChildById(id,idList):

baseMapper.deleteBatchIds(idList);

//2 根据当前菜单 id,查询菜单里面子菜单 id,封装到 list 集合

private void selectPermissionChildById(String id, List<String> idList)

//查询菜单里面子菜单 id

QueryWrapper<Permission> wrapper = new QueryWrapper<>(); wrapper.eq( column:"pid”, id);

wrapper.select("id");

List<Permission> childIdList = baseMapper.selectList(wrapper);/把 childIdList 里面菜单 id 值获取出来,封装 idList 里面,做递归查询 childIdList.stream().forEach(item ->

//封装 idList 里面

idList.add(item.getId());

//递归查询

this.selectPermissionChildById(item.gefId(),idList);


四、检测

如果说操作正确,那么这些菜单都将被删掉。

image.png

先启动服务,现在来到s wagger,找到 remove id,传递菜单,现在点击 try it out,最终显示成功:

success true,

code20000

message “成功”,

data"

相关文章
|
6月前
|
缓存 Java Spring
IDEA中配置HTML和Thymeleaf热部署的步骤
以上就是在IntelliJ IDEA中配置HTML和Thymeleaf热部署的步骤。这样的配置可以大大提高你的开发效率,让你更专注于代码的编写,而不是等待应用的重启。希望这个指南对你有所帮助!
387 21
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解注意力机制中的兼容性函数
深入理解注意力机制中的兼容性函数
|
11月前
|
运维 Kubernetes Shell
【赵渝强老师】K8s中Pod的临时容器
Pod 是 Kubernetes 中的基本调度单位,由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。临时容器用于故障排查和性能诊断,不适用于构建应用程序。当 Pod 中的容器异常退出或容器镜像不包含调试工具时,临时容器非常有用。文中通过示例展示了如何使用 `kubectl debug` 命令创建临时容器进行调试。
200 1
|
缓存 运维 监控
成为工程师 - 如何提升系统稳定性(1)
成为工程师 - 如何提升系统稳定性(1)
|
XML 存储 缓存
Squid 缓存服务器配置
Squid 缓存服务器配置
529 0
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
|
存储 SQL 关系型数据库
你有这么高效的MySQL版本号排序,记住我给出的原理
在MySQL中,对版本号进行正确排序遇到了问题,表现为不符合常规的版本比较逻辑,如“1.0.12”被错误地排在“1.0.2”之后。这可能是由于接口在处理版本号比较时的算法或逻辑错误。为解决这个问题,提出了四个优化方案。
|
分布式计算 Hadoop 调度
|
存储 运维 Cloud Native
数据库技术的前沿探索:创新、挑战与未来机遇
一、引言 数据库技术作为信息化社会的基础设施,一直在不断演进以适应日益复杂的数据处理需求
1200 0
|
IDE 开发工具 Windows
手把手教你调整电脑磁盘的分区大小
手把手教你调整电脑磁盘的分区大小
1460 0
手把手教你调整电脑磁盘的分区大小