设计时统计图管理(ChartController)¶
统计图(.chart)设计时资源管理:统计图的列表查询、详情获取、新建、更新与批量删除。
- 接口类型: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}、{moduleId}、{chartId}均为**明文设计时 ID**(与 designer 其他控制器一致,非 runtime 的 DES 加密密文)。 - 响应:统一
Resource(见 ../index.md「统一响应结构」)。成功errcode=0;异常默认errcode=500,errmsg为异常信息。 - HTTP 方法:受
CommonSecurityFilter限制,仅允许GET/POST/HEAD/OPTIONS。 - 请求体约定:POST/PUT 接收原始 JSON 字符串(
@RequestBody String content),由服务端用JSONObject.fromObject解析后通过json2obj转Chart;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「统一响应结构」)。
data:JSONObject,含分页字段 linesPerPage/pageCount/pageNo/rowCount 以及 data(JSONArray,每项 {id, name, description})。注意列表数组键名为 data 而非 datas。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"linesPerPage": 10,
"pageNo": 1,
"pageCount": 1,
"rowCount": 2,
"data": [
{ "id": "...", "name": "统计图名称", "description": "..." }
]
},
"errors": null
}
2. 获取统计图详情¶
按统计图Id获取完整统计图对象。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/{applicationId}/charts/{chartId} - 鉴权:是(需 designerToken)
- Tag:设计时-统计图模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| chartId | path | string | 是 | 统计图Id |
响应¶
data:Chart 完整对象。
{ "errcode": 0, "errmsg": "ok", "data": { "id": "...", "name": "...", "...": "..." }, "errors": null }
3. 新建统计图¶
在指定模块下新建统计图。请求体解析为 Chart 后强制覆盖 applicationid 与 parentId(设为 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(name、type、配置等)。
响应¶
data:JSONObject,仅含 id(新建统计图Id)。
4. 更新统计图¶
按统计图Id更新统计图对象。请求体解析后强制覆盖 applicationid 与 id(取路径 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。
响应¶
data:null(成功)。
5. 删除统计图(可批量)¶
按统计图Id数组批量删除统计图(含路径信息收集)。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/{applicationId}/charts - 鉴权:是(需 designerToken)
- Tag:设计时-统计图模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id |
| ids | body | string | 是 | 统计图Id字符串数组 |
请求体¶
响应¶
data:String,固定为 "删除成功"。