设计时打印数据预览(PrintDesignTimeRuntimeController)¶
设计器侧的打印数据预览接口:路径与 runtime 模块对齐(/api/runtime),供设计器打印预览 / hostRequestBridge.getPrintDatas 调用,按打印模板与参数解析实际打印数据。与设计时打印模板维护接口 print-designtime.md(PrintDesignTimeController,基址 /api/designtime/applications)区分。
- 接口类型:REST 资源
- 基址:
${myapps.context-path.designer:}/api/runtime(类级@RequestMapping,produces = APPLICATION_JSON_VALUE) - Tag:设计器侧打印数据预览
公共说明¶
- 鉴权:是(需 designerToken)。控制器继承自
AbstractDesignTimeController(基类为@RestController),通过getUser()从 designerToken JWT 中解析SuperUserVO,并以其 id 作为 DES 解密密钥解密applicationId/templateId。鉴权机制详见 index.md「鉴权说明」。 - 路径变量:
{applicationId}、{templateId}为**按设计器用户 id DES 加密后的密文**(解密后才是真实设计时 ID)。 - 响应:统一
Resource(见 ../index.md「统一响应结构」)。成功errcode=0;异常errcode=500。 - HTTP 方法:受
CommonSecurityFilter限制,仅允许GET/POST/HEAD/OPTIONS。 - 预览标记:解析打印参数时强制设置
_designPreview=true,下游按此跳过持久化等运行时副作用。
1. 获取打印数据(设计器预览)¶
按 applicationId 与 templateId 解析打印模板所配置的数据源查询,返回打印数据列表。POST JSON body 提交 printTemplateId、docIds 等参数,行为对齐 runtime 同名端点。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/{applicationId}/print/{templateId}/data(完整:{designer-context}/api/runtime/{applicationId}/print/{templateId}/data) - 鉴权:是(需 designerToken)
- Tag:设计器侧打印数据预览
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 软件 id(DES 加密密文,按当前设计器用户 id 解密) |
| templateId | path | string | 是 | 打印模板 id(DES 加密密文,按当前设计器用户 id 解密) |
| body | body | object(JSON) | 否 | 打印参数 JSON,由 PrintDataRequestUtil.buildPrintParams 与 URL/表单参数合并 |
请求体¶
JSON 对象,常见字段包括 printTemplateId、docIds、dialogParams 等;具体字段由 PrintDataRequestUtil.buildPrintParams 解析。
请求示例¶
POST /api/runtime/{applicationId}/print/{templateId}/data HTTP/1.1
Content-Type: application/json
{
"printTemplateId": "<模板 id>",
"docIds": ["<docId1>"]
}
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:List<Map<String, Object>>,每个元素为一条打印数据记录(字段由模板 dataSource 查询结果决定)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": [
{ "field1": "...", "field2": "...", "...": "..." }
],
"errors": null
}