设计时 Excel 导入配置管理(ExcelConfigsController)¶
Excel 导入配置设计时资源管理:Excel 导入配置的增删改查、批量删除,按已保存配置或请求体内联模板预览导出 .xlsx 导入模板文件。
- 接口类型:REST 资源
- 基址:
${myapps.context-path.designer:}/api/designtime/applications(类级@RequestMapping,produces = APPLICATION_JSON_VALUE) - Tag:excel配置设计模块
公共说明¶
- 鉴权:是(需 designerToken)。控制器继承自
AbstractDesignTimeController(基类为@RestController),通过Security.getDesignerIdFromToken(request)从 designerToken JWT 中解析设计器用户。鉴权机制详见 index.md「鉴权说明」。 - 路径变量:
{applicationId}、{excelConfigId}均为**明文设计时 ID**(与 designer 其他控制器一致,非 runtime 的 DES 加密密文)。 - 响应:统一
Resource(见 ../index.md「统一响应结构」)。成功errcode=0;异常默认errcode=500,errmsg为异常信息;保存前重名校验抛出OBPMValidateException("名称已经存在!"),被通用catch (Exception)捕获后以errcode=500返回。 - HTTP 方法:受
CommonSecurityFilter限制,仅允许GET/POST/HEAD/OPTIONS。 - 请求体约定:POST/PUT 接收原始 JSON 字符串(
@RequestBody String content),由服务端用JSONObject.fromObject解析;DELETE 接收 JSON 字符串数组(@RequestBody String[])。 - 版本说明:详情接口新版返回
jsonTemplate、旧版返回xml;新建/更新接口新版设计器请传templateType=EXCEL_JSON与jsonTemplate。
1. 获取 Excel 配置列表¶
分页获取指定应用下的 Excel 导入配置列表,可按名称查询。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/{applicationId}/excelconfigs(完整:{designer-context}/api/designtime/applications/{applicationId}/excelconfigs) - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| name | query | string | 否 | 按名称查询关键字 |
| pageNo | query | string | 否 | 页码(缺省 1) |
| linesPerPage | query | string | 否 | 每页条数(缺省 10) |
说明:
pageNo/linesPerPage形参未标注@RequestParam,由 Spring MVC 按请求参数绑定,故可缺省。name标注required = false。
请求示例¶
GET /api/designtime/applications/{applicationId}/excelconfigs?name=&pageNo=1&linesPerPage=10 HTTP/1.1
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:DataPackage<IMPMappingConfigVO>(含分页字段与 datas)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"linesPerPage": 10,
"pageNo": 1,
"pageCount": 1,
"rowCount": 3,
"datas": [
{ "id": "...", "name": "...", "applicationid": "...", "templateType": "EXCEL_JSON", "...": "..." }
]
},
"errors": null
}
2. 获取 Excel 配置详情¶
按配置Id获取完整 Excel 导入配置对象。新版返回 jsonTemplate,旧版返回 xml。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/{applicationId}/excelconfigs/{excelConfigId} - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| excelConfigId | path | string | 是 | Excel 配置Id |
响应¶
data:IMPMappingConfigVO 完整对象。
{ "errcode": 0, "errmsg": "ok", "data": { "id": "...", "name": "...", "templateType": "EXCEL_JSON", "jsonTemplate": "...", "...": "..." }, "errors": null }
3. 新建 Excel 配置¶
在指定应用下新建 Excel 导入配置。生成新设计时序列号作为 id,经 normalizeBeforeSave 归一化、重名校验、validateBeforeSave 后保存。新版设计器请传 templateType=EXCEL_JSON 与 jsonTemplate。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/{applicationId}/excelconfigs - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| content | body | string(JSON) | 是 | Excel 配置对象 JSON |
请求体¶
对应 IMPMappingConfigVO 对象 JSON(name、templateType、jsonTemplate 等)。
响应¶
data:JSONObject,仅含 id(新建配置Id)。
catch 捕获,返回 errcode=500):
4. 更新 Excel 配置¶
按配置Id更新 Excel 导入配置。先取现有对象做 mergeOnUpdate,再 normalizeBeforeSave、重名校验、validateBeforeSave 后更新。新版设计器请传 templateType=EXCEL_JSON 与 jsonTemplate。
- 接口类型:REST 资源
- 请求方式:
PUT - 请求路径:
/{applicationId}/excelconfigs/{excelConfigId} - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| excelConfigId | path | string | 是 | Excel 配置Id |
| content | body | string(JSON) | 是 | Excel 配置对象 JSON |
响应¶
data:null(成功)。
5. 导出 Excel 导入模板(按已保存配置)¶
按已保存配置的 jsonTemplate 生成 .xlsx 文件并写入响应输出流下载。文件名取配置 name(缺省 excel-template.xlsx)。该端点返回二进制流,无统一 Resource 封装。
- 接口类型:REST 资源(二进制下载)
- 请求方式:
GET - 请求路径:
/{applicationId}/excelconfigs/{excelConfigId}/export-excel - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| excelConfigId | path | string | 是 | Excel 配置Id |
请求示例¶
响应¶
结构:二进制 Excel 文件(非统一 Resource)。
- Content-Type:Excel 附件(由 HttpDownloadHelper.setExcelAttachmentHeaders 设置)。
- Content-Disposition:attachment; filename="<配置名>.xlsx"。
- 正文:.xlsx 文件字节流。
异常时由容器/Spring 默认错误处理(无统一 Resource 封装)。
6. 预览导出 Excel 导入模板(按请求体内联模板)¶
按请求体中的 jsonTemplate 生成 .xlsx 文件并下载,无需先保存配置。文件名取请求体 name,缺省取模板名。该端点返回二进制流,无统一 Resource 封装。
- 接口类型:REST 资源(二进制下载)
- 请求方式:
POST - 请求路径:
/{applicationId}/excelconfigs/export-excel - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| content | body | string(JSON) | 是 | 含 jsonTemplate(必填)与可选 name 的对象 JSON |
请求体¶
响应¶
结构:二进制 Excel 文件(非统一 Resource)。
- Content-Type:Excel 附件(由 HttpDownloadHelper.setExcelAttachmentHeaders 设置)。
- Content-Disposition:attachment; filename="<文件名>.xlsx"。
- 正文:.xlsx 文件字节流。
异常时由容器/Spring 默认错误处理(无统一 Resource 封装)。
7. 删除 Excel 配置(可批量)¶
按配置Id数组批量删除 Excel 导入配置(含逐条路径信息收集)。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/{applicationId}/excelconfigs - 鉴权:是(需 designerToken)
- Tag:excel配置设计模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| ids | body | string | 是 | 配置Id字符串数组 |
请求体¶
响应¶
data:null(成功)。