设计时多语言管理(MulitLanguageController)¶
多语言设计时资源管理:多语言条目的增删改查、批量删除,按 .xls/.xlsx 文件导入多语言,以及重新加载全局语言属性缓存。
- 接口类型:REST 资源
- 基址:
${myapps.context-path.designer:}/api/designtime/applications(类级@RequestMapping,produces = APPLICATION_JSON_VALUE) - Tag:多语言模块
公共说明¶
- 鉴权:是(需 designerToken)。控制器继承自
AbstractDesignTimeController(基类为@RestController),通过Security.getDesignerIdFromToken(request)从 designerToken JWT 中解析设计器用户。鉴权机制详见 index.md「鉴权说明」。 - 路径变量:
{applicationId}、{mulitlangId}均为**明文设计时 ID**(与 designer 其他控制器一致,非 runtime 的 DES 加密密文)。 - 响应:统一
Resource(见 ../index.md「统一响应结构」)。成功errcode=0;异常默认errcode=500,errmsg为异常信息;导入文件格式不符时返回errcode=4001。 - HTTP 方法:受
CommonSecurityFilter限制,仅允许GET/POST/HEAD/OPTIONS。 - 请求体约定:POST/PUT 接收原始 JSON 字符串(
@RequestBody String content),由服务端用JSONObject.fromObject解析;DELETE 接收 JSON 字符串数组(@RequestBody String[])。
1. 获取多语言列表¶
分页获取指定应用下的多语言条目列表,可按标签(label)、文本(text)、类型(type)过滤。服务端先全量查询再在内存中过滤与分页。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/{applicationId}/mulitlangs(完整:{designer-context}/api/designtime/applications/{applicationId}/mulitlangs) - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| pageNo | query | string | 否 | 页码(缺省 1) |
| linesPerPage | query | string | 否 | 每页条数(缺省 10) |
| label | query | string | 否 | 按标签关键字过滤(包含匹配) |
| text | query | string | 否 | 按文本关键字过滤(包含匹配) |
| type | query | int | 否 | 按类型精确过滤(缺省 0=不过滤) |
说明:
pageNo/linesPerPage/label/text形参未标注@RequestParam,由 Spring MVC 按请求参数绑定,故可缺省。type标注required = false,缺省0。
请求示例¶
GET /api/designtime/applications/{applicationId}/mulitlangs?pageNo=1&linesPerPage=10&label=&text=&type=0 HTTP/1.1
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:分页 Map,含字段 linesPerPage、pageCount、pageNo、rowCount、data(List<MultiLanguage>,当起始下标越界时为 null)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"linesPerPage": 10,
"pageNo": 1,
"pageCount": 1,
"rowCount": 5,
"data": [
{ "id": "...", "label": "...", "text": "...", "type": 1, "applicationid": "..." }
]
},
"errors": null
}
2. 获取多语言详情¶
按多语言Id获取完整多语言对象。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/{applicationId}/mulitlangs/{mulitlangId} - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| mulitlangId | path | string | 是 | 多语言Id |
响应¶
data:MultiLanguage 完整对象。
{ "errcode": 0, "errmsg": "ok", "data": { "id": "...", "label": "...", "text": "...", "type": 1, "...": "..." }, "errors": null }
3. 新建多语言¶
在指定应用下新建多语言条目。将 text 同步为 name,缺省 id 时生成新设计时序列号;保存后写入 MultiLanguageProperty 全局缓存。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/{applicationId}/mulitlangs - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| content | body | string(JSON) | 是 | 多语言对象 JSON |
请求体¶
对应 MultiLanguage 对象 JSON(含 label、text、type、language 等)。
响应¶
data:JSONObject,仅含 id(新建多语言Id)。
4. 更新多语言¶
按多语言Id更新多语言对象(以路径变量 mulitlangId 覆盖 id,text 同步为 name);保存后刷新 MultiLanguageProperty 缓存。
- 接口类型:REST 资源
- 请求方式:
PUT - 请求路径:
/{applicationId}/mulitlangs/{mulitlangId} - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| mulitlangId | path | string | 是 | 多语言Id |
| content | body | string(JSON) | 是 | 多语言对象 JSON |
响应¶
data:null(成功)。
5. 删除多语言(可批量)¶
按多语言Id数组批量删除多语言条目(含逐条路径信息收集)。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/{applicationId}/mulitlangs - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| ids | body | string | 是 | 多语言Id字符串数组 |
请求体¶
响应¶
data:String,固定为 "删除成功"。
6. 重新加载语言属性¶
触发 MultiLanguageProperty.init(),重新加载全局多语言属性缓存。该端点路径下不含 {applicationId} 段。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/reloadLanguage(完整:{designer-context}/api/designtime/applications/reloadLanguage) - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
无。
请求示例¶
响应¶
data:String,固定为 "加载成功"。
7. 导入多语言¶
按服务器端 Excel 文件路径导入多语言条目。path 必须以 .xls 或 .xlsx 结尾,否则返回 errcode=4001。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/{applicationId}/mulitlangs/import - 鉴权:是(需 designerToken)
- Tag:多语言模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| jsonObject | body | JSON | 是 | 含 path 字段(服务器端 Excel 文件路径) |
请求体¶
响应¶
data:List<String>,导入结果消息列表。
成功示例:
失败示例(文件格式错误): 失败示例(其他异常):