2.7 KiB
2.7 KiB
API 文档:删除语言接口
元数据
- 需求编号:2026-01-26-002-08-05
- 创建时间:2026-01-26
- 创建人:SSOT 架构师
- 父需求:2026-01-26-002-08-语言管理功能
- 状态:已完成
功能概述
删除一种或多种语言。
接口信息
基本信息
- 接口名称:删除语言
- 接口功能:删除已存在的语言(支持批量删除)
- 请求方式:DELETE
- 请求路径:
/system/language/{ids} - 权限要求:
system:language:remove
请求参数
| 参数名 | 类型 | 必选 | 说明 | 示例值 |
|---|---|---|---|---|
| ids | Long[] | 是 | 语言 ID 数组(路径参数) | 1,2,3 |
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码(200 成功) |
| msg | String | 提示信息 |
请求示例
DELETE /system/language/1,2,3
响应示例
{
"code": 200,
"msg": "删除成功"
}
错误码
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| 400 | 请求参数错误 | 检查请求参数是否正确 |
| 401 | 未登录或登录已过期 | 重新登录 |
| 403 | 无权限访问 | 联系管理员分配权限 |
| 404 | 语言不存在 | 检查语言 ID 是否正确 |
| 409 | 不能删除默认语言 | 先设置其他语言为默认语言 |
| 500 | 服务器内部错误 | 联系技术支持 |
业务规则
-
删除规则:
- 支持批量删除多个语言
- 必须提供至少一个有效的语言 ID
-
数据权限:
- 需要登录用户
- 需要具备
system:language:remove权限
-
删除限制:
- 不能删除默认语言
- 不能删除正在被用户使用的语言
- 不能删除系统保留的语言(如 zh-CN、en-US)
-
删除后处理:
- 清除语言列表缓存
- 清除语言详情缓存
- 删除对应的国际化资源文件
- 记录操作日志
-
级联处理:
- 删除语言后,使用该语言的用户会自动切换到系统默认语言
- 删除语言后,该语言的翻译资源会被删除
缓存策略
- 缓存类型:Redis
- 缓存更新:
- 删除语言后清除该语言的缓存
- 清除所有语言列表缓存
- 清除缓存键模式:
system:language:*
注意事项
- 删除语言是不可逆操作,请谨慎操作
- 删除语言前,建议先确认是否有用户正在使用该语言
- 删除语言后,该语言的翻译资源也会被删除,无法恢复
- 删除默认语言会失败,需要先设置其他语言为默认语言
- 建议在删除语言前,先停用该语言,观察一段时间后再删除
- 批量删除时,如果其中一个语言删除失败,整个操作会回滚