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

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

开发者学堂课程【微服务+全栈在线教育实战项目演练(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"

相关文章
|
8月前
|
缓存 Java Spring
IDEA中配置HTML和Thymeleaf热部署的步骤
以上就是在IntelliJ IDEA中配置HTML和Thymeleaf热部署的步骤。这样的配置可以大大提高你的开发效率,让你更专注于代码的编写,而不是等待应用的重启。希望这个指南对你有所帮助!
566 21
|
10月前
|
安全 网络安全
单域名SSL证书跟通配符SSL证书对比
单域名SSL证书仅保护一个特定域名,如`www.example.com`,适合小型网站,价格较低且配置简单。通配符SSL证书可保护主域名及其所有子域名,如`*.example.com`,适合中大型企业,灵活性高但价格较高。选择时需根据实际需求权衡域名数量、预算和管理复杂度。
723 5
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
356 17
|
运维 Kubernetes Shell
【赵渝强老师】K8s中Pod的临时容器
Pod 是 Kubernetes 中的基本调度单位,由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。临时容器用于故障排查和性能诊断,不适用于构建应用程序。当 Pod 中的容器异常退出或容器镜像不包含调试工具时,临时容器非常有用。文中通过示例展示了如何使用 `kubectl debug` 命令创建临时容器进行调试。
245 1
|
前端开发 JavaScript 安全
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第7天】JAMstack是一种现代Web开发架构,代表JavaScript、APIs和Markup。本文介绍了JAMstack的核心概念、优势及实施步骤,包括内容设计、选择静态站点生成器、API集成、前端开发和部署托管。JAMstack提高了网站的性能、安全性和可扩展性,适用于营销网站、博客、电子商务和Web应用等多种场景。
|
机器学习/深度学习 人工智能 自然语言处理
500篇论文!最全代码大模型综述来袭
11月14日,蚂蚁集团联合上海交通大学发布55页代码大模型综述,覆盖超过50个模型、30个下游任务、500篇参考文献,全方位总结大语言模型在代码相关应用中的最新进展与挑战。
1838 0
|
XML 存储 缓存
Squid 缓存服务器配置
Squid 缓存服务器配置
639 0
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
|
IDE 开发工具 Windows
手把手教你调整电脑磁盘的分区大小
手把手教你调整电脑磁盘的分区大小
1510 0
手把手教你调整电脑磁盘的分区大小