类 MenuController
java.lang.Object
net.sohelp.boot.admin.core.base.BaseController
net.sohelp.boot.dev.web.system.menu.MenuController
@RestController("dev-system-menu")
@RequestMapping("/dev/system/menu")
public class MenuController
extends BaseController
菜单管理控制器
提供菜单相关的增删改查以及导出功能,支持权限控制与日志记录。
- 从以下版本开始:
- 2022-04-06
- 作者:
- AaronFung
-
字段概要
从类继承的字段 net.sohelp.boot.admin.core.base.BaseController
request, response -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明添加新菜单项 验证必要字段后,将菜单信息插入数据库中。删除指定菜单及其所有子菜单和相关联的角色菜单关系 先获取目标菜单的所有后代节点,然后批量删除这些菜单及它们在角色菜单表中的引用。void导出菜单数据为SQL插入语句并提供下载根据ID获取单个菜单详情getRoleMenu(String roleId) 获取角色所拥有的菜单列表,并标记哪些已被选中获取菜单列表 支持根据标题、路径或权限模糊搜索菜单项,并按排序号升序排列。保存菜单信息(新增或更新) 若未提供ID则视为新增;若已存在ID,则执行更新操作。更新已有菜单的信息 根据提供的菜单ID更新其相关信息。从类继承的方法 net.sohelp.boot.admin.core.base.BaseController
error, error, fail, fail, fail, getLoginID, getLoginName, getLoginOrgID, getLoginOrgName, getLoginUser, getNickname, getTenantId, getUserName, getUserNo, i18n, i18n, isAdministrator, isDeveloper, limit, offset, ok, ok, response, response, responseStream, success, success, success, success, validateToken
-
构造器详细资料
-
MenuController
public MenuController()
-
-
方法详细资料
-
exportSQL
@GetMapping("/exportSQL") @Permission("ADMIN") public void exportSQL(@RequestParam String appUuid) throws IOException 导出菜单数据为SQL插入语句并提供下载根据给定的应用UUID查询对应的菜单数据,将其转换为INSERT SQL语句, 并通过临时文件进行下载。
- 参数:
appUuid- 应用唯一标识符,用于筛选特定应用下的菜单数据- 抛出:
IOException- 文件操作异常时抛出
-
list
@GetMapping("/list") @Permission("ADMIN") public ApiResult<List<Map<String,Object>>> list(@RequestParam Map<String, Object> paramMap) throws Exception获取菜单列表 支持根据标题、路径或权限模糊搜索菜单项,并按排序号升序排列。- 参数:
paramMap- 请求参数映射表,可包含以下键: - title:菜单标题(模糊匹配) - path:菜单路径(模糊匹配) - authority:菜单权限码(模糊匹配) - app_uuid:所属应用ID,默认为0- 返回:
- 返回封装了菜单列表的API结果对象
- 抛出:
Exception- 数据库访问或其他业务逻辑异常时抛出
-
add
@PostMapping("/add") @Transactional(rollbackFor=java.lang.Exception.class) @OperationLog("\u6dfb\u52a0\u83dc\u5355") @Permission("ADMIN") public ApiResult<String> add(@RequestBody Map<String, Object> paramMap) throws Exception添加新菜单项 验证必要字段后,将菜单信息插入数据库中。- 参数:
paramMap- 包含菜单属性的映射表,必须包含: - title:菜单标题(不能为空) - app_uuid:所属应用ID(不能为空)- 返回:
- 成功则返回“添加成功”,否则返回错误提示信息
- 抛出:
Exception- 插入过程中的任何异常都会被抛出
-
delete
@PostMapping("/delete") @Transactional(rollbackFor=java.lang.Exception.class) @OperationLog("\u5220\u9664\u83dc\u5355") @Permission("ADMIN") public ApiResult<String> delete(@RequestBody Map<String, Object> paramMap) throws Exception删除指定菜单及其所有子菜单和相关联的角色菜单关系 先获取目标菜单的所有后代节点,然后批量删除这些菜单及它们在角色菜单表中的引用。- 参数:
paramMap- 请求参数,应包含要删除菜单的ID- 返回:
- 成功返回“删除成功!”消息,失败返回具体原因
- 抛出:
Exception- 执行删除操作过程中可能发生的异常
-
update
@PostMapping("/update") @Transactional(rollbackFor=java.lang.Exception.class) @Permission("DEVELOPER") @OperationLog("\u4fee\u6539\u83dc\u5355") public ApiResult<String> update(@RequestBody Map<String, Object> paramMap) throws Exception更新已有菜单的信息 根据提供的菜单ID更新其相关信息。- 参数:
paramMap- 包含待更新菜单信息的映射表,需至少包含: - id:菜单主键(不能为空)- 返回:
- 成功返回“更新成功!”,失败返回错误描述
- 抛出:
Exception- 更新过程中发生异常时抛出
-
getById
@GetMapping("/getById") @Permission("ADMIN") public ApiResult<Map<String,Object>> getById(@RequestParam String id) throws Exception 根据ID获取单个菜单详情- 参数:
id- 菜单ID- 返回:
- 封装了菜单详细信息的结果对象
- 抛出:
Exception- 查询数据库时可能出现的异常
-
save
@PostMapping("/save") @Transactional(rollbackFor=java.lang.Exception.class) @Permission("DEVELOPER") public ApiResult<String> save(@RequestBody Map<String, Object> paramMap) throws Exception保存菜单信息(新增或更新) 若未提供ID则视为新增;若已存在ID,则执行更新操作。- 参数:
paramMap- 包含菜单基本信息的映射表,如名称等- 返回:
- 操作成功的确认信息
- 抛出:
Exception- 在保存过程中遇到的问题
-
getRoleMenu
@GetMapping("/getRoleMenu") @Permission("ADMIN") public ApiResult<List<Map<String,Object>>> getRoleMenu(@RequestParam String roleId) throws Exception 获取角色所拥有的菜单列表,并标记哪些已被选中- 参数:
roleId- 角色ID- 返回:
- 包含所有菜单及是否被当前角色分配状态的数据列表
- 抛出:
Exception- 查询数据库时可能引发的异常
-