权限管理-查询所有菜单(递归) | 学习笔记

简介: 快速学习 权限管理-查询所有菜单(递归)

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

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


权限管理-查询所有菜单(递归)


目录:

一、代码启动

二、核心代码

三、检测


一、代码启动

启动项目,打开 serviceAcl,将以下服务启动起来:

package com.atguigu.aclservice;
import ...
@SpringBootApplication
@EnableDiscoveryClient
ComponentScan("com.atguigu"
@MapperScan("com.atguigu.aclservice. mapper"
public class ServiceAclApplication (
public static void main(String[] args) ( SpringApplication.run(ServiceAclApplication.clasg

启动之后,进行测试,看看最终能否得到树形结构的菜单效果。

使用 swagger 进行测试,端口号为8009

搜索:

http://localhost:8009/swagger-ui.html#/permission45controller,会发现有一行代码需要注释掉,就是这行代码:

package com.atguigu.aclservice;

import...

@SpringBootApplication

@EnableDiscoveryClient

@ComponentScan("com atguigu

@MapperScan("com. atguigu.aclservice. mapper

public class ServiceAclApplication (

public static void main(String[] args) (SpringApplication.run(ServiceAclApplication.class, ars

这个代码它表示如果路径中包含这个路径,接口是不会显示的,如果这句话没被注释掉,它的接口就不会显示,解决方案是修改名字,或者注释掉,否则将没有信息显示。


二、核心代码

//把返回所有菜单 list 集合进行封装的方法public static List<Permission bulidPermission (List<Permission> permissionList){

//创建 list 集合,用于数据最终封装 List<Permission> finalNode = new ArrayList< >():

//把所有菜单list集合遍历,得到顶层菜单 pid=0菜单,设置 level 1

for(Permission permissionNode : permissionList)(

//得到顶层菜单 pid=0菜单

if("o [equals(permissionNode.getPid()))(

//设置顶层菜单的 level 1

permissionNode.setLevel(1);

//根据顶层菜单,向里面进行查询子菜单,封装到finalNode里面finalNode.add(selectChildren(permissionNode,permissionList));


三、检测

用最一开始的方法,第一次比较便利,通过一级查二级,通过二级查三级,什么三级查四级类推,直到它最终没有数据。此时递归查询菜单就完成了。


相关文章
|
数据库 数据安全/隐私保护
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。
1215 0
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
|
19天前
使用递归的方式删除菜单
使用递归的方式删除菜单
|
存储 Java 数据安全/隐私保护
权限管理-查询所有菜单(递归) | 学习笔记
快速学习 权限管理-查询所有菜单(递归)
138 0
|
数据安全/隐私保护 开发者 微服务
权限管理-删除菜单 | 学习笔记
快速学习 权限管理-删除菜单
93 0
权限管理-删除菜单 | 学习笔记
|
数据安全/隐私保护 开发者 微服务
权限管理-角色分配菜单 | 学习笔记
快速学习 权限管理-角色分配菜单
72 0
|
JSON 数据安全/隐私保护 数据格式
查找用户功能的实现 | 学习笔记
快速学习查找用户功能的实现
46 0
|
前端开发 JavaScript 算法
如何实现后台管理系统的权限路由和权限菜单
本文是继 前端如何一键生成多维度数据可视化分析报表 实战的最后一篇文章, 主要介绍如何实现后台管理系统的权限路由和权限菜单. 希望通过这3篇文章的复盘和实战, 可以让大家开发企业应用的时候更加游刃有余.
358 0
|
前端开发 数据安全/隐私保护
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(二)
在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(二)
|
数据安全/隐私保护 Android开发 开发者
【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )(二)
【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )(二)
460 0
【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )(二)
|
API 数据安全/隐私保护 Android开发
【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )(一)
【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )(一)
252 0