跳转至

设计时 Excel 导入配置管理(ExcelConfigsController)

Excel 导入配置设计时资源管理:Excel 导入配置的增删改查、批量删除,按已保存配置或请求体内联模板预览导出 .xlsx 导入模板文件。

  • 接口类型:REST 资源
  • 基址${myapps.context-path.designer:}/api/designtime/applications(类级 @RequestMappingproduces = 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=500errmsg 为异常信息;保存前重名校验抛出 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_JSONjsonTemplate

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「统一响应结构」)。 dataDataPackage<IMPMappingConfigVO>(含分页字段与 datas)。

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "linesPerPage": 10,
    "pageNo": 1,
    "pageCount": 1,
    "rowCount": 3,
    "datas": [
      { "id": "...", "name": "...", "applicationid": "...", "templateType": "EXCEL_JSON", "...": "..." }
    ]
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "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

响应

dataIMPMappingConfigVO 完整对象。

{ "errcode": 0, "errmsg": "ok", "data": { "id": "...", "name": "...", "templateType": "EXCEL_JSON", "jsonTemplate": "...", "...": "..." }, "errors": null }
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }


3. 新建 Excel 配置

在指定应用下新建 Excel 导入配置。生成新设计时序列号作为 id,经 normalizeBeforeSave 归一化、重名校验、validateBeforeSave 后保存。新版设计器请传 templateType=EXCEL_JSONjsonTemplate

  • 接口类型:REST 资源
  • 请求方式POST
  • 请求路径/{applicationId}/excelconfigs
  • 鉴权:是(需 designerToken)
  • Tag:excel配置设计模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
content body string(JSON) Excel 配置对象 JSON

请求体

对应 IMPMappingConfigVO 对象 JSON(nametemplateTypejsonTemplate 等)。

响应

dataJSONObject,仅含 id(新建配置Id)。

{ "errcode": 0, "errmsg": "ok", "data": { "id": "<配置Id>" }, "errors": null }
失败示例(重名等校验失败,被通用 catch 捕获,返回 errcode=500):
{ "errcode": 500, "errmsg": "名称已经存在!", "data": null, "errors": null }


4. 更新 Excel 配置

按配置Id更新 Excel 导入配置。先取现有对象做 mergeOnUpdate,再 normalizeBeforeSave、重名校验、validateBeforeSave 后更新。新版设计器请传 templateType=EXCEL_JSONjsonTemplate

  • 接口类型:REST 资源
  • 请求方式PUT
  • 请求路径/{applicationId}/excelconfigs/{excelConfigId}
  • 鉴权:是(需 designerToken)
  • Tag:excel配置设计模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
excelConfigId path string Excel 配置Id
content body string(JSON) Excel 配置对象 JSON

响应

datanull(成功)。

{ "errcode": 0, "errmsg": "ok", "data": null, "errors": null }
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": 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

请求示例

GET /api/designtime/applications/{applicationId}/excelconfigs/{excelConfigId}/export-excel HTTP/1.1

响应

结构:二进制 Excel 文件(非统一 Resource)。 - Content-Type:Excel 附件(由 HttpDownloadHelper.setExcelAttachmentHeaders 设置)。 - Content-Dispositionattachment; 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

请求体

{ "name": "<导出文件名(可选)>", "jsonTemplate": "<模板 JSON 字符串>" }

响应

结构:二进制 Excel 文件(非统一 Resource)。 - Content-Type:Excel 附件(由 HttpDownloadHelper.setExcelAttachmentHeaders 设置)。 - Content-Dispositionattachment; filename="<文件名>.xlsx"。 - 正文:.xlsx 文件字节流。

异常时由容器/Spring 默认错误处理(无统一 Resource 封装)。


7. 删除 Excel 配置(可批量)

按配置Id数组批量删除 Excel 导入配置(含逐条路径信息收集)。

  • 接口类型:REST 资源
  • 请求方式DELETE
  • 请求路径/{applicationId}/excelconfigs
  • 鉴权:是(需 designerToken)
  • Tag:excel配置设计模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
ids body string 配置Id字符串数组

请求体

["<excelConfigId1>", "<excelConfigId2>"]

响应

datanull(成功)。

{ "errcode": 0, "errmsg": "ok", "data": null, "errors": null }
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }