跳转至

设计时统计图管理(ChartController)

统计图(.chart)设计时资源管理:统计图的列表查询、详情获取、新建、更新与批量删除。

  • 接口类型:REST 资源
  • 基址${myapps.context-path.designer:}/api/designtime/applications(类级 @RequestMappingproduces = APPLICATION_JSON_VALUE
  • Tag:设计时-统计图模块

公共说明

  • 鉴权:是(需 designerToken)。控制器继承自 AbstractDesignTimeController(基类为 @RestController),通过 Security.getDesignerIdFromToken(request) 从 designerToken JWT 中解析设计器用户。鉴权机制详见 index.md「鉴权说明」。
  • 路径变量{applicationId}{moduleId}{chartId} 均为**明文设计时 ID**(与 designer 其他控制器一致,非 runtime 的 DES 加密密文)。
  • 响应:统一 Resource(见 ../index.md「统一响应结构」)。成功 errcode=0;异常默认 errcode=500errmsg 为异常信息。
  • HTTP 方法:受 CommonSecurityFilter 限制,仅允许 GET/POST/HEAD/OPTIONS
  • 请求体约定:POST/PUT 接收原始 JSON 字符串(@RequestBody String content),由服务端用 JSONObject.fromObject 解析后通过 json2objChart;DELETE 接收 JSON 字符串数组(@RequestBody String[])。

1. 获取统计图列表

分页获取指定模块下的统计图列表,可按名称或备注关键字查询。返回字段中列表数组键名为 data(非统一 datas)。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/{applicationId}/modules/{moduleId}/charts(完整:{designer-context}/api/designtime/applications/{applicationId}/modules/{moduleId}/charts
  • 鉴权:是(需 designerToken)
  • Tag:设计时-统计图模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
moduleId path string 模块Id
searchword query string 按名称或备注查询关键字
currpage query string 页码(缺省 1
pagelines query string 每页条数(缺省 10

说明:searchword/currpage/pagelines 形参未标注 @RequestParam,由 getParams() 按请求参数绑定,故均可缺省。

请求示例

GET /api/designtime/applications/{applicationId}/modules/{moduleId}/charts?searchword=&currpage=1&pagelines=10 HTTP/1.1

响应

结构:统一 Resource(见 ../index.md「统一响应结构」)。 dataJSONObject,含分页字段 linesPerPage/pageCount/pageNo/rowCount 以及 dataJSONArray,每项 {id, name, description})。注意列表数组键名为 data 而非 datas

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "linesPerPage": 10,
    "pageNo": 1,
    "pageCount": 1,
    "rowCount": 2,
    "data": [
      { "id": "...", "name": "统计图名称", "description": "..." }
    ]
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }


2. 获取统计图详情

按统计图Id获取完整统计图对象。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/{applicationId}/charts/{chartId}
  • 鉴权:是(需 designerToken)
  • Tag:设计时-统计图模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
chartId path string 统计图Id

响应

dataChart 完整对象。

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


3. 新建统计图

在指定模块下新建统计图。请求体解析为 Chart 后强制覆盖 applicationidparentId(设为 moduleId),id 为空时生成新的设计时序列号。HTTP 状态码 201

  • 接口类型:REST 资源
  • 请求方式POST
  • 请求路径/{applicationId}/modules/{moduleId}/charts
  • 鉴权:是(需 designerToken)
  • Tag:设计时-统计图模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
moduleId path string 模块Id(写入 parentId
content body string(JSON) 统计图对象 JSON

请求体

对应 Chart 对象 JSON(nametype、配置等)。

{ "name": "<统计图名>", "type": "...", "...": "..." }

响应

dataJSONObject,仅含 id(新建统计图Id)。

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


4. 更新统计图

按统计图Id更新统计图对象。请求体解析后强制覆盖 applicationidid(取路径 chartId),随后 saveOrUpdate

  • 接口类型:REST 资源
  • 请求方式PUT
  • 请求路径/{applicationId}/charts/{chartId}
  • 鉴权:是(需 designerToken)
  • Tag:设计时-统计图模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 应用Id
chartId path string 统计图Id(覆盖请求体中的 id)
content body string(JSON) 统计图对象 JSON

请求体

对应 Chart 对象 JSON。

{ "name": "<统计图名>", "...": "..." }

响应

datanull(成功)。

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


5. 删除统计图(可批量)

按统计图Id数组批量删除统计图(含路径信息收集)。

  • 接口类型:REST 资源
  • 请求方式DELETE
  • 请求路径/{applicationId}/charts
  • 鉴权:是(需 designerToken)
  • Tag:设计时-统计图模块

请求参数

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

请求体

["<chartId1>", "<chartId2>"]

响应

dataString,固定为 "删除成功"

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