# API 文档:修改菜单接口 ## 元数据 - **需求编号**:2026-01-21-002-03-29 - **创建时间**:2026-01-26 - **创建人**:SSOT 架构师 - **父需求**:2026-01-21-002-03-数据库国际化需求 ## 接口概述 修改已有的菜单,支持编辑中文字段和英文字段。 ## 接口详情 ### 基本信息 - **接口名称**:修改菜单 - **接口描述**:修改菜单,支持国际化 - **请求方式**:PUT - **请求路径**:`/system/menu` - **权限要求**:`system:menu:edit` ### 请求参数 | 参数名 | 类型 | 必选 | 说明 | |--------|------|------|------| | menuId | Long | 是 | 菜单ID | | menuName | String | 是 | 菜单名称(中文) | | menuNameEn | String | 否 | 菜单名称(英文) | | menuNameI18n | String | 否 | 菜单名称(多语言JSON) | | parentId | Long | 是 | 父菜单ID | | orderNum | Integer | 是 | 显示顺序 | | path | String | 否 | 路由地址 | | component | String | 否 | 组件路径 | | query | String | 否 | 路由参数 | | routeName | String | 否 | 路由名称 | | isFrame | String | 否 | 是否为外链(0是 1否) | | isCache | String | 否 | 是否缓存(0缓存 1不缓存) | | menuType | String | 是 | 类型(M目录 C菜单 F按钮) | | visible | String | 否 | 显示状态(0显示 1隐藏) | | status | String | 否 | 菜单状态(0正常 1停用) | | perms | String | 否 | 权限字符串 | | icon | String | 否 | 菜单图标 | ### 请求示例 ```bash curl -X PUT 'http://localhost:8080/system/menu' \ -H 'Authorization: Bearer {token}' \ -H 'Content-Type: application/json' \ -d '{ "menuId": 2, "menuName": "用户管理", "menuNameEn": "User Management", "parentId": 1, "orderNum": 1, "path": "user", "component": "system/user/index", "menuType": "C", "visible": "0", "status": "0", "perms": "system:user:list", "icon": "user" }' ``` ### 响应数据结构 | 参数名 | 类型 | 说明 | |--------|------|------| | code | Integer | 状态码(200 成功,500 失败) | | msg | String | 提示信息 | | data | Object | 数据对象(通常为 null) | ### 响应示例 **成功响应:** ```json { "code": 200, "msg": "操作成功", "data": null } ``` **失败响应:** ```json { "code": 500, "msg": "修改菜单'用户管理'失败,菜单名称已存在", "data": null } ``` ### 业务规则 1. 菜单名称在同一父菜单下必须唯一 2. 如果是外链菜单,地址必须以 http(s):// 开头 3. 上级菜单不能选择自己 4. 修改 `menuName` 时,自动翻译并更新 `menuNameEn`(调用翻译 API) 5. 修改成功后,清除菜单缓存 ### 国际化说明 - 支持编辑中文字段(menuName)和英文字段(menuNameEn) - 支持编辑多语言 JSON 字段(menuNameI18n) - 自动翻译功能:修改中文字段时,自动翻译并更新英文字段 ### 性能要求 - **响应时间**:< 100ms - **数据库更新时间**:< 50ms ### 相关文档 - [需求文档](file:///d:/idea_demo/datai/datai-scenes/datai-scene-salesforce/docs/requirements/2026-01-21-002-03-数据库国际化需求.md) - [设计文档](file:///d:/idea_demo/datai/datai-scenes/datai-scene-salesforce/docs/design/2026-01-21-002-03-数据库国际化设计.md)