1. 应用参数
1.1. 资源说明
1.1.1. 应用参数定义
参数是作用在整个应用内的一个可配置变量,可以使用在应用内任何可以设置常量的地方如:高级表达式、数据集过滤条件、customSQL、图表过滤器、行权限等。
应用参数结构说明
字段 | 类型 | 描述 |
---|---|---|
id | LONG | 应用参数id |
appId | LONG | 应用id |
name | STRING | 应用参数名称 |
options | OBJECT | 应用参数配置信息 |
options.type | STRING | 应用参数数据类型,支持:number,string,date,time |
options.subType | STRING | 应用参数允许值,支持:ALL,LIST,DYNAMIC,RANGE |
options.maxValue | OBJECT | 应用参数最大值 |
options.minValue | OBJECT | 应用参数最小值 |
options.valueSet | ARRAY | 应用参数指定值列表,JSONObject格式,有效key为"value","display",例:"valueSet":[{value: 0, display : "男性"}, {value:1}, {value:2, display:"未知"}] |
options.intervalNum | LONG | 应用参数值间隔数 |
options.period | STRING | 应用参数时间间隔单位,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.granularity | STRING | 应用参数时间粒度,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.defaultValue | OBJECT | 应用参数默认值 |
options.allowAllValue | BOOL | 应用参数是否允许任意值 |
options.datasetId | LONG | 应用参数值数据集id |
options.valueField | STRING | 应用参数值字段名称 |
options.displayField | STRING | 应用参数显示值字段名称 |
options.displayValue | STRING | 应用参数显示值 |
options.multiValueConfig | OBJECT | 应用参数多值配置 |
options.multiValueConfig.enable | BOOL | 应用参数开启多值 |
options.multiValueConfig.split | STRING | 应用参数多值配置分隔符 |
options.multiValueConfig.quote | STRING | 应用参数多值配置起止符 |
options.multiValueConfig.prefix | STRING | 应用参数多值配置前缀 |
options.multiValueConfig.suffix | STRING | 应用参数多值配置后缀 |
updatedAt | DATETIME | 应用参数最后更新时间 |
updatedBy | LONG | 应用参数最后修改者的userId |
createdAt | DATETIME | 应用参数创建时间 |
updatedBy | LONG | 应用参数最后修改者的userId |
extendAppId | LONG | 继承的应用id |
extendAppTitle | STRING | 继承的应用名称 |
tags | OBJECT | 应用参数分组信息 |
1.2. 接口说明
1.2.1. 1、创建应用参数
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的编辑者
权限
请求URL
POST /api/v1/apps/{appId}/params
需要认证:是
请求参数
Request Body 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | STRING | 是 | 应用参数名称 |
options.type | STRING | 是 | 应用参数数据类型,支持:number,string,date,time |
options.subType | STRING | 是 | 应用参数允许值,支持:ALL,LIST,DYNAMIC,RANGE |
options.maxValue | OBJECT | 否 | 应用参数最大值 |
options.minValue | OBJECT | 否 | 应用参数最小值 |
options.valueSet | ARRAY | 否 | 应用参数指定值列表,JSONObject格式,有效key为"value","display",例:"valueSet":[{value: 0, display : "男性"}, {value:1}, {value:2, display:"未知"}] |
options.intervalNum | LONG | 否 | 应用参数值间隔数 |
options.period | STRING | 否 | 应用参数时间间隔单位,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.granularity | STRING | 否 | 应用参数时间粒度,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.defaultValue | OBJECT | 否 | 应用参数默认值 |
options.allowAllValue | BOOL | 否 | 应用参数是否允许任意值 |
options.datasetId | LONG | 否 | 应用参数值数据集id |
options.valueField | STRING | 否 | 应用参数值字段名称 |
options.displayField | STRING | 否 | 应用参数显示值字段名称 |
options.displayValue | STRING | 否 | 应用参数显示值 |
options.multiValueConfig | OBJECT | 否 | 应用参数多值配置 |
options.multiValueConfig.enable | BOOL | 否 | 应用参开启多值 |
options.multiValueConfig.split | STRING | 否 | 应用参数多值配置分隔符 |
options.multiValueConfig.quote | STRING | 否 | 应用参数多值配置起止符 |
options.multiValueConfig.prefix | STRING | 否 | 应用参数多值配置前缀 |
options.multiValueConfig.suffix | STRING | 否 | 应用参数多值配置后缀 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种应用参数的共同结构见应用参数结构说明。 |
接口示例1: 创建应用参数
POST /api/v1/apps/{appId}/params
{
"name": "test",
"options": {
"type": "time",
"subType": "RANGE",
"allowAllValue": false,
"granularity": "second",
"period": "SECOND",
"maxValue": "2023-08-01 23:59:59",
"minValue": "2023-01-01 00:00:00",
"defaultValue": "2023-02-01 10:00:00"
}
}
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": {
"id": 6,
"name": "test",
"appId": 19,
"options": {
"type": "time",
"subType": "RANGE",
"maxValue": "2023-08-01 23:59:59",
"minValue": "2023-01-01 00:00:00",
"period": "SECOND",
"granularity": "second",
"defaultValue": "2023-02-01 10:00:00",
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:11:41",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:11:41",
"tags": {}
}
}
接口示例2: 创建应用参数(列表)
POST /api/v1/apps/{appId}/params
{
"name": "listTest",
"options": {
"type": "string",
"subType": "LIST",
"allowAllValue": false,
"defaultValue": "test1",
"displayValue": "t1",
"valueSet": [
{
"value": "test1",
"display": "t1"
},
{
"value": "test2",
"display": "t2"
},
{
"value": "test3",
"display": "t3"
}
]
}
}
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": {
"id": 7,
"name": "listTest",
"appId": 19,
"options": {
"type": "string",
"subType": "LIST",
"valueSet": [
{
"value": "test1",
"display": "t1"
},
{
"value": "test2",
"display": "t2"
},
{
"value": "test3",
"display": "t3"
}
],
"defaultValue": "test1",
"displayValue": "t1",
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:15:10",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:15:10",
"tags": {}
}
}
1.2.2. 2、修改应用参数
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的编辑者
权限请求URL
需要认证:是PUT /api/v1/apps/{appId}/params/{paramId}
请求参数
Request Body 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | STRING | 是 | 应用参数名称 |
options.type | STRING | 是 | 应用参数数据类型,支持:number,string,date,time |
options.subType | STRING | 是 | 应用参数允许值,支持:ALL,LIST,DYNAMIC,RANGE |
options.maxValue | OBJECT | 否 | 应用参数最大值 |
options.minValue | OBJECT | 否 | 应用参数最小值 |
options.valueSet | ARRAY | 否 | 应用参数指定值列表,JSONObject格式,有效key为"value","display",例:"valueSet":[{value: 0, display : "男性"}, {value:1}, {value:2, display:"未知"}] |
options.intervalNum | LONG | 否 | 应用参数值间隔数 |
options.period | STRING | 否 | 应用参数时间间隔单位,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.granularity | STRING | 否 | 应用参数时间粒度,可选值:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND |
options.defaultValue | OBJECT | 否 | 应用参数默认值 |
options.allowAllValue | BOOL | 否 | 应用参数是否允许任意值 |
options.datasetId | LONG | 否 | 应用参数值数据集id |
options.valueField | STRING | 否 | 应用参数值字段名称 |
options.displayField | STRING | 否 | 应用参数显示值字段名称 |
options.displayValue | STRING | 否 | 应用参数显示值 |
options.multiValueConfig | OBJECT | 否 | 应用参数多值配置 |
options.multiValueConfig.enable | BOOL | 否 | 应用参开启多值 |
options.multiValueConfig.split | STRING | 否 | 应用参数多值配置分隔符 |
options.multiValueConfig.quote | STRING | 否 | 应用参数多值配置起止符 |
options.multiValueConfig.prefix | STRING | 否 | 应用参数多值配置前缀 |
options.multiValueConfig.suffix | STRING | 否 | 应用参数多值配置后缀 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种应用参数的共同结构见应用参数结构说明。 |
接口示例1: 修改应用参数
PUT /api/v1/apps/{appId}/params/{paramId}
{
"id": 5,
"name": "test1",
"appId": 19,
"type": "number",
"options": {
"type": "number",
"subType": "RANGE",
"maxValue": 100,
"minValue": 0,
"defaultValue": 10,
"allowAllValue": false,
"intervalNum": 10
}
}
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": {
"id": 5,
"name": "test1",
"appId": 19,
"options": {
"type": "number",
"subType": "RANGE",
"maxValue": 100,
"minValue": 0,
"intervalNum": 10,
"defaultValue": 10,
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:00:01",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:22:50",
"isDelete": false,
"tags": {
}
}
}
1.2.3. 3、删除应用参数
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的编辑者
权限
请求URL
DELETE /api/v1/apps/{appId}/params/{paramId}
需要认证:是
请求参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
接口示例1: 删除应用参数
DELETE /api/v1/apps/{appId}/params/{paramId}
返回:
{
"version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#null",
"code": 0,
"msg": "success"
}
1.2.4. 4、根据id获取应用参数
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的查看者
权限请求URL
需要认证:是GET /api/v1/apps/{appId}/params/{paramId}
请求参数
无返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 每种应用参数的共同结构见应用参数结构说明。 |
接口示例1: 根据id获取应用参数
GET /api/v1/apps/{appId}/params/{paramId}
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": {
"id": 5,
"name": "test1",
"appId": 19,
"options": {
"type": "number",
"subType": "RANGE",
"maxValue": 100,
"minValue": 0,
"intervalNum": 10,
"defaultValue": 10,
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:00:01",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:22:50",
"isDelete": false,
"tags": {}
}
}
1.2.5. 5、获取应用参数列表
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的查看者
权限
请求URL
GET /api/v1/apps/{appId}/params
需要认证:是
请求参数
URL 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
orderBy | String | 否 | 排序字段 |
queryAllParams | BOOLEAN | 否 | 查询图表使用到的全部应用参数,包含当前应用和数据包的参数,默认为false |
excludeMulti | BOOLEAN | 否 | 排除多值参数,默认为false |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 每种应用参数的共同结构见应用参数结构说明。 |
接口示例1: 获取应用参数列表
GET /api/v1/apps/{appId}/params
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": [
{
"id": 7,
"name": "listTest",
"appId": 19,
"options": {
"type": "string",
"subType": "LIST",
"valueSet": [
{
"value": "test1",
"display": "t1"
}
],
"defaultValue": "test1",
"displayValue": "t1",
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:15:10",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:15:10",
"isDelete": false,
"extendAppTitle": "分析应用",
"tags": {
}
},
{
"id": 6,
"name": "test",
"appId": 19,
"options": {
"type": "time",
"subType": "RANGE",
"maxValue": "2023-08-01 23:59:59",
"minValue": "2023-01-01 00:00:00",
"period": "SECOND",
"granularity": "second",
"defaultValue": "2023-02-01 10:00:00",
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:11:41",
"updatedBy": 2,
"updatedAt": "2023-08-10 11:11:41",
"isDelete": false,
"extendAppTitle": "分析应用",
"tags": {
}
}
]
}
1.2.6. 6、根据查询条件获取应用参数列表
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的查看者
权限请求URL
需要认证:是POST /api/v1/apps/{appId}/params/query
请求参数
Request Body 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | LONG | 否 | 应用参数id |
appId | LONG | 是 | 应用id |
name | STRING | 否 | 应用参数名称 |
options.type | STRING | 否 | 应用参数类型 |
options.subType | STRING | 否 | 应用参数允许值,支持:ALL,LIST,DYNAMIC,RANGE |
options.datasetId | LONG | 否 | 应用参数应用参数值数据集id |
updatedAt | DATETIME | 否 | 应用参数最后更新时间 |
updatedBy | LONG | 否 | 应用参数最后修改者的userId |
createdAt | DATETIME | 否 | 应用参数创建时间 |
updatedBy | LONG | 否 | 应用参数最后修改者的userId |
excludeMulti | BOOLEAN | 否 | 排除多值参数 |
isDelete | BOOLEAN | 否 | 是否删除 |
appIds | LONG 数组 | 否 | 应用参数id列表,查询多个应用下的参数 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 每种应用参数的共同结构见应用参数结构说明。 |
接口示例1: 根据查询条件获取应用参数列表
POST /api/v1/apps/{appId}/params/query
{
"name": "test1"
}
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": [
{
"id": 5,
"name": "test1",
"appId": 19,
"options": {
"type": "number",
"subType": "RANGE",
"maxValue": 100,
"minValue": 0,
"intervalNum": 10,
"defaultValue": 10,
"allowAllValue": false
},
"createdBy": 2,
"createdAt": "2023-08-10 11:00:01",
"updatedBy": 2,
"updatedAt": "2023-08-10 14:11:20",
"isDelete": false,
"tags": {
}
}
]
}
1.2.7. 7、查询引用了指定参数的资源
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的查看者
权限
请求URL
GET /api/v1/apps/{appId}/params/{paramId}/referenced
需要认证:是
请求参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 引用参数的资源数组,目前包含全局参数控件、数据集、继承数据集、仪表盘、应用权限规则 |
接口示例1: 获取应用参数列表
GET /api/v1/apps/19/params/5/referenced
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": [
{
"name": "paramReference",
"value": [
{
"name": "dashboard",
"value": [
{
"uniqueFlag": "新建仪表盘 (1)",
"appId": 19,
"name": "新建仪表盘 (1)",
"id": 2,
"objectType": "dashboard"
}
]
}
]
}
]
}
1.2.8. 8、查询使用了指定参数的数据集
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的查看者
权限
请求URL
GET /api/v1/apps/{appId}/params/{paramId}/datasets
需要认证:是
请求参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 每种数据集的共同结构见数据集结构说明。 |
接口示例1: 获取应用参数列表
GET /api/v1/apps/19/params/5/datasets
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": [
{
"id": 1,
"title": "movie",
"createdBy": 2,
"createdAt": "2023-08-07 11:48:10",
"updatedBy": 2,
"updatedAt": "2023-08-10 17:32:16",
"visible": true,
"isDelete": false,
"appId": 19,
"accessCount": 5,
"lastAccessedAt": "2023-08-10 17:32:16",
"options": {
"cache": false,
"type": "connection",
"totalSize": 254,
"rowCount": 1,
"rowCountValid": true,
"connectionTitle": "3381",
"refreshHours": [
],
"refreshMinute": 0,
"connectionId": 4,
"connectionCategory": "Database",
"origin": "mysql",
"table": "movie",
"where": [
{
"op": "and",
"args": [
{
"op": "=",
"args": [
{
"op": "id",
"kind": "field",
"type": "number"
},
{
"op": "test1",
"kind": "param",
"type": "number"
}
],
"kind": "function"
}
],
"kind": "function"
}
],
"path": [
"qa"
],
"transpose": false,
"padHeader": false,
"storageType": "mysql",
"storageConnectionId": 4,
"storageConnectionTitle": "3381",
"schema": [
],
"metrics": [
],
"isFile": false
},
"importType": 0,
"importStatus": 0,
"status": 3,
"isPublic": true,
"includeInAppScope": false,
"jobStatus": "SUCCESSFUL",
"dataControl": true,
"canPushToMemory": false,
"schemaStale": false,
"dataStale": false,
"importSwitchable": false,
"entityKey": "19-1",
"entityGroup": "DATASET",
"origin": "mysql",
"type": "connection",
"emptyDataset": false
}
]
}
1.2.9. 9、修改参数分组
- 创建者需要拥有
数据管理员
或数据分析员
角色 且 需要为应用的创建者 或 拥有应用或应用所在目录的编辑者
权限 -
请求URL
PUT /api/v1/apps/{appId}/params/groups
需要认证:是
请求参数
Request Body 参数
OBJECT数组,单个OBJECT结构如下:
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | STRING | 是 | 分组名称 |
children | STRING 数组 | 是 | 分组中包含的参数id列表 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
code | LONG | 返回码 |
msg | STRING | 返回码对应的信息 |
version | STRING | 当前系统版本哈希值 |
data | OBJECT 数组 | 分组数据,同Request Body |
接口示例1: 修改应用参数
PUT /api/v1/apps/19/params/groups
[
{
"name": "分组1",
"children": [
5,
6
]
},
{
"name": "分组2",
"children": [
1,
6
]
}
]
返回:
{
"version": "4.5-SNAPSHOT@@git.commit.id.abbrev@#352dc7c5",
"code": 0,
"msg": "success",
"data": [
{
"name": "分组1",
"displayIndex": 0,
"children": [
"5",
"6"
]
},
{
"name": "分组2",
"displayIndex": 0,
"children": [
"1",
"6"
]
}
]
}