数据服务OpenAPI
- 一、公共参数
- 1.1 响应格式
- 1.2 异常响应码
- 1.3 枚举列表
- 1.4 响应实体列表
- 1.5 服务概览
- 1.6 API管理
- 1.7 应用管理
- 1.8 策略管理
- 1.8.1 RateLimiting
- 1.8.2 IpRestriction
- 1.8.3 Alert
- 1.8.4 RowLevelPermission
- 1.8.5 RateLimitConfig
- 1.8.6 ApiBasic
- 1.8.7 IpRestrictConfig
- 1.8.8 AlertContent
- 1.8.9 AlertChannel
- 1.8.10 AlertRule
- 1.8.11 AlertSuppression
- 1.8.12 RowLevelPermissionContent
- 1.8.13 AppBasic
- 1.8.14 RateLimitStrategyDto
- 1.8.15 IpRestrictionStrategyDto
- 1.8.16 AlarmStrategyDto
- 1.8.17 AlarmStrategyDto
- 二、OpenAPI列表
此手册用于记录大数据开发与管理平台中,数据服务产品所有对外开放的OpenAPI,阅读此手册,你将了解数据服务开放的OpenAPI能力与调用方法。
一、公共参数
1.1 响应格式
名称 | 类型 | 描述 |
---|---|---|
code | Number | 响应码 |
reqId | String | 请求ID |
cost | Number | 耗时,单位:ms |
msg | String | 响应消息 |
result | Object | 响应结果 |
1.2 异常响应码
响应码 | 说明 |
---|---|
1000 | API管理类异常 |
2000 | 应用管理类异常 |
1.3 枚举列表
1.3.1 ApiStatusEnum
枚举值 | 类型 | 名称 |
---|---|---|
0 | Number | 未发布 |
1 | Number | 已发布 |
2 | Number | 已下线 |
1.3.2 ApiTestStatusEnum
枚举值 | 类型 | 名称 |
---|---|---|
0 | Number | 等待测试 |
1 | Number | 测试成功 |
2 | Number | 测试失败 |
1.3.3 ApiTypeEnum
枚举值 | 类型 | 名称 |
---|---|---|
0 | Number | 新建API |
1 | Number | 注册API |
2 | Number | 服务编排 |
1.3.4 BulidModeEnum
枚举值 | 类型 | 名称 |
---|---|---|
0 | Number | 向导模式 |
1 | Number | SQL模式 |
1.3.5 ParamTypeEnum
枚举值 | 类型 | 名称 |
---|---|---|
long | String | 整型 |
double | String | 浮点型 |
string | String | 字符串 |
boolean | String | 布尔型 |
1.3.6 AlertRuleTypeEnum
枚举值 | 类型 | 名称 |
---|---|---|
QPS | String | QPS |
AVG_RESPONSE_TIME | String | 平均响应时间 |
ERROR_RATE | String | 错误率 |
SLOW_QUERY_NUMBER | String | 慢查询次数 |
SLOW_QUERY_RATE | String | 慢查询率 |
1.4 响应实体列表
1.4.1 PageResult
分页查询结果
字段 | 类型 | 描述 |
---|---|---|
pageSize | Number | 每页显示条数 |
pageNum | Number | 页数 |
totalCount | Number | 总条数 |
totalPage | Number | 总页数 |
list | Array<Object> | 当前页结果 |
1.4.2 User
用户信息
字段 | 类型 | 描述 |
---|---|---|
user | String | 用户邮箱 |
fullName | String | 用户全名 |
1.5 服务概览
1.5.1 AllApiIndex
API总数指标
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiCount | Number | API总数量 | 是 | |
apiCallCount | Number | API调用总次数 | 是 | 无 |
1.5.2 SystemIndex
系统指标
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
pulishedApiCount | Number | 已发布的API数量 | 是 | |
calledApiCount | Number | 已调用的API数量 | 是 | |
apiCallCount | Number | 已调用的总次数 | 是 | |
successCount | Number | 调用成功的API次数 | 是 | |
appCount | Number | 创建应用数量 | 是 | |
responseSizeCount | Number | 返回数据量大小总和,单位:字节(细粒度统计策略) | 否 | 无 |
1.5.3 ApiCall
API调用次数
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | API ID | 是 | |
apiName | String | API名称 | 是 | |
count | Number | 调用次数 | 是 | 无 |
1.5.4 FailureRate
调用失败率
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | API ID | 是 | |
apiName | String | API名称 | 是 | |
rate | Number | 失败率 | 是 | 无 |
1.5.5 AvgRespTime
平均响应时间
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | API ID | 是 | |
apiName | String | API名称 | 是 | |
avgRespTime | Number | 平均响应时间,单位:ms | 是 | 无 |
1.5.6 AppCall
应用调度次数
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
appId | Number | 应用ID | 是 | |
appName | String | 应用名称 | 是 | |
count | Number | 调用次数 | 是 | 无 |
1.6 API管理
1.6.1 Set
集合
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiSetId | Number | 集合ID | 是 | |
apiSetName | String | API调用总次数 | 是 | |
apiSetPath | String | 集合路径 | 是 | |
desc | String | 描述 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | 无 |
1.6.2 ApiSimple
API简要信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | 集合ID | 是 | |
apiName | String | API调用总次数 | 是 | |
apiPath | String | 集合路径 | 是 | |
desc | String | 描述 | 是 | |
locked | Boolean | 是否锁定 | 是 | |
apiStatus | Number | API状态 ApiStatusEnum | 是 | |
testStatus | Number | 测试状态 ApiTestStatusEnum | 是 | |
apiTags | List<String> | API标签 | 是 | |
bulidMode | Number | 生产方式 BulidModeEnum | 是 | |
apiType | Number | API类型 ApiTypeEnum | 是 | |
lastCallTime | String | 上次调用时间,调用后才有 | 否 | |
callTotal | Number | 调用总次数 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改者 | 是 | |
modifyTime | String | 修改时间 | 是 | |
envId | Number | 环境ID | 是 | |
envName | String | 环境名称 | 是 | |
setId | Number | 集合ID | 是 | |
setName | String | 集合名称 | 是 | |
setPath | String | 集合路径 | 是 | 无 |
1.6.3 Api
API详情
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | 集合ID | 是 | |
apiName | String | API调用总次数 | 是 | |
apiPath | String | 集合路径 | 是 | |
desc | String | 描述 | 是 | |
locked | Boolean | 是否锁定 | 是 | |
apiStatus | Number | API状态 ApiStatusEnum | 是 | |
testStatus | Number | 测试状态 ApiTestStatusEnum | 是 | |
apiTags | List<String> | API标签 | 是 | |
bulidMode | Number | 生产方式 BulidModeEnum | 是 | |
apiType | Number | API类型 ApiTypeEnum | 是 | |
lastCallTime | String | 上次调用时间,调用后才有 | 否 | |
callCount | Number | 调用总次数 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改者 | 是 | |
modifyTime | String | 修改时间 | 是 | |
envId | Number | 环境ID | 是 | |
envName | String | 环境名称 | 是 | |
setId | Number | 集合ID | 是 | |
setName | String | 集合名称 | 是 | |
setPath | String | 集合路径 | 是 | |
groupId | Number | 资源组ID,绑定资源组后才有 | 否 | |
groupName | String | 资源组名称,绑定资源组后才有 | 否 | |
protocol | String | 协议 | 是 | |
requestMethod | String | 请求方法 | 是 | |
responseType | String | 返回类型 | 是 | |
url | String | 请求地址 | 是 | |
apiToken | String | API token,开启token鉴权才有 | 否 | |
timeout | Number | 请求超时时间,单位ms | 是 | |
collaborators | List<User> | 协助者集合 | 是 | |
successDemo | String | 调用成功实例 | 否 | |
failDemo | String | 调用失败示例 | 否 | |
wizardContent | WizardContent | 向导内容,向导模式下才有 | 否 | |
scriptContent | ScriptContent | 脚本内容,SQL模式下才有 | 否 | |
registerContent | RegisterContent | 注册内容,注册API才有 | 否 | 无 |
1.6.4 ApiV2
API详情v2
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | 集合ID | 是 | |
apiName | String | API调用总次数 | 是 | |
apiPath | String | 集合路径 | 是 | |
desc | String | 描述 | 是 | |
locked | Boolean | 是否锁定 | 是 | |
apiStatus | Number | API状态 ApiStatusEnum | 是 | |
testStatus | Number | 测试状态 ApiTestStatusEnum | 是 | |
apiTags | List<String> | API标签 | 是 | |
bulidMode | Number | 生产方式 BulidModeEnum | 是 | |
apiType | Number | API类型 ApiTypeEnum | 是 | |
lastCallTime | String | 上次调用时间,调用后才有 | 否 | |
callCount | Number | 调用总次数 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改者 | 是 | |
modifyTime | String | 修改时间 | 是 | |
envId | Number | 环境ID | 是 | |
envName | String | 环境名称 | 是 | |
setId | Number | 集合ID | 是 | |
setName | String | 集合名称 | 是 | |
setPath | String | 集合路径 | 是 | |
groupId | Number | 资源组ID,绑定资源组后才有 | 否 | |
groupName | String | 资源组名称,绑定资源组后才有 | 否 | |
protocol | String | 协议 | 是 | |
requestMethod | String | 请求方法 | 是 | |
responseType | String | 返回类型 | 是 | |
url | String | 请求地址 | 是 | |
apiToken | String | API token,开启token鉴权才有 | 否 | |
timeout | Number | 请求超时时间,单位ms | 是 | |
collaborators | List<User> | 协助者集合 | 是 | |
wizardContent | WizardContent | 向导内容,向导模式下才有 | 否 | |
scriptContent | ScriptContent | 脚本内容,SQL模式下才有 | 否 | |
registerContent | RegisterContent | 注册内容,注册API才有 | 否 | |
apiBindAppList | List<ApiBindedAppDto> | 绑定的应用列表 | 否 | |
apiStrategyInfoDto | ApiStrategyInfoDto | 绑定的策略列表 | 否 | 无 |
1.6.5 WizardContent
向导模式内容
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
sources | List<ApiSource> | 数据源 | 是 | |
requests | List<ApiRequest> | 请求参数 | 是 | |
responses | List<ApiResponse> | 返回参数 | 是 | |
caching | Boolean | 是否开启缓存 | 否 | |
cachingTime | Number | 缓存时间 | 否 | |
cachingTimeUnit | String | 缓存时间单位 | 否 | |
postProcessingJar | String | 后置处理jar | 否 | |
postProcessingClass | String | 后置处理jar中的主类 | 否 | |
wheres | List<ApiWhere> | 查询条件 | 是 | |
sorts | List<ApiSort> | 排序条件 | 是 | |
callMode | String | 调用模式,例如get/scan/gets/exists,只要 redis、hbase才有。 |
否 | 无 |
1.6.6 ScriptContent
脚本模式内容
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
sources | List<ApiSource> | 数据源 | 是 | |
requests | List<ApiRequest> | 请求参数 | 是 | |
responses | List<ApiResponse> | 返回参数 | 是 | |
caching | Boolean | 是否开启缓存 | 否 | |
cachingTime | Number | 缓存时间 | 否 | |
cachingTimeUnit | String | 缓存时间单位 | 否 | |
postProcessingJar | String | 后置处理jar | 否 | |
postProcessingClass | String | 后置处理jar中的主类 | 否 | |
sql | String | SQL语句 | 是 | |
enablePaging | Boolean | 是否开启分页,开启时才有 | 否 | |
mybatis | Boolean | 是否开启mybatis动态语法,开启时才有 | 否 | |
hiveOrderKey |
String | 结果排序字段,只在mpp数据源且开启mybatis动态语法时才有 | 否 | 无 |
1.6.7 RegisterContent
注册模式内容
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
sources | List<ApiSource> | 数据源 | 是 | |
requests | List<ApiRequest> | 请求参数 | 是 | |
responses | List<ApiResponse> | 返回参数 | 是 | |
caching | Boolean | 是否开启缓存 | 否 | |
cachingTime | Number | 缓存时间 | 否 | |
cachingTimeUnit | String | 缓存时间单位 | 否 | |
postProcessingJar | String | 后置处理jar | 否 | |
postProcessingClass | String | 后置处理jar中的主类 | 否 | |
successDemo | String | 返回成功样例,配置后才有 | 否 | |
failDemo | String | 返回失败样例,配置后才有 | 否 | 无 |
1.6.8 ApiHistoryRecord
API历史记录
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
version | Number | 版本 | 是 | |
used | Boolean | 是否使用,当前正在使用才有 | 否 | |
wizardContent | WizardContent | 向导内容,向导模式下才有 | 否 | |
scriptContent | ScriptContent | 脚本内容,SQL模式下才有 | 否 | |
registerContent | RegisterContent | 注册内容,注册API才有 | 否 | 无 |
1.6.9 ApiSource
API数据源
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
id | Number | 数据源ID | 是 | |
name | String | 数据源名称 | 是 | |
type | String | 数据源类型 | 是 | |
db | String | 库名 | 否 | |
table | String | 表名 | 否 | |
clusterId | String | 集群ID,只有hive数据源才有 | 否 | |
clusterName | String | 集群名称,只有hive数据源才有 | 否 | |
queryEngine | String | 查询引擎,只有hive数据源才有 | 否 | |
impalaName | String | impala集群名称,只有hive数据源才有 | 否 | |
impalaJDBC | String | impala集群jdbc连接串,只有hive数据源才有 | 否 | |
impalaQueue | String | impala执行队列,只有hive数据源才有 | 否 | 无 |
1.6.10 ApiRequest
API请求参数
字段 | 类型 | 描述 | 是否必填 | 默认值 | |
---|---|---|---|---|---|
name | Number | 入参名称 | 是 | ||
requestMethod | String | 请求方法 GET \ | POST | 是 | |
position | String | 入参位置 QUERY \ | BODY | 是 | |
parameterType | String | 参数类型 common \ | function | 是 | |
expression | String | 函数入参表达式,参数类型为function时才有 | 否 | ||
type | String | 入参字段类型 ParamTypeEnum | 有 | ||
need | Boolean | 是否必填 | 是 | ||
defaultValue | String | 默认值,只有在非必填时才有 | 否 | ||
example | String | 样例,配置了才有 | 否 | ||
description | String | 描述,配置了才有 | 否 | 无 |
1.6.11 ApiResponse
API响应参数
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
returnName | String | 返回参数名称 | 是 | |
dbField | String | 对应的数据库字段名 | 是 | |
type | String | 返回字段类型 ParamTypeEnum | 是 | |
description | String | 描述,配置了才有 | 否 | 无 |
1.6.12 ApiWhere
向导模式下的API查询条件
字段 | 类型 | 描述 | 是否必填 | 默认值 | |
---|---|---|---|---|---|
type | String | 组合条件 and \ | or | 是 | |
filters | List<ApiFilter> | 过滤条件 | 是 | ||
nestFilters | List<ApiWhere> | 嵌套过滤条件 | 是 | 无 |
1.6.13 ApiFilter
向导模式下的API过滤条件
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
inputField | String | 入参名称 | 是 | |
dbField | String | 数据库字段名称 | 是 | |
dbFieldType | String | 数据库字段类型 | 是 | |
description | String | 描述,设置了才有 | 否 | |
operator | String | 操作符,例如 >、<、=等 | 是 | 无 |
1.6.14 ApiSort
向导模式下的API排序条件
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
name | String | 排序字段 | 是 | |
description | String | 描述,设置了才有过滤条件 | 否 | |
asc | Number | 排序规则 1=正序 0=倒序 | 是 | 无 |
1.7 应用管理
1.7.1 App
应用
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
appId | Number | 应用ID | 是 | |
appName | String | 应用名称 | 是 | |
desc | String | 描述 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
authorizedApis | List<AuthorizedApi> | 已授权的API集合 | 是 | 无 |
1.7.2 ApiBindedAppDto
API绑定的应用信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
appId | Number | 应用ID | 是 | |
appName | String | 应用名称 | 是 | |
desc | String | 描述 | 是 | |
expiredTime | String | 过期时间 | 是 | |
appCreator | String | 应用创建者 | 是 | |
appCreatorCN | String | 应用创建者中文名 | 是 | |
appCreateTime | Long | 应用创建时间 | 是 | |
authorTime | Long | 授权时间 | 是 | |
author | String | 授权人 | 是 | |
authorCN | String | 授权人中文名 | 是 | 无 |
1.7.3 AuthorizedApi
已授权的API信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | API ID | 是 | |
apiName | String | API名称 | 是 | |
desc | String | API描述 | 是 | |
creator | User | 创建者 | 是 | |
setId | Number | 集合ID | 是 | |
setName | String | 集合名称 | 是 | |
envId | Number | 环境ID | 是 | |
envName | String | 环境名称 | 是 | |
authorizer | User | 授权人 | 是 | |
authorizerTime | String | 授权时间 | 是 | |
expireTime | String | 授权过期时间,配置后才有 | 否 | 无 |
1.8 策略管理
1.8.1 RateLimiting
流控策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
rateLimitingId | Number | 流控策略ID | 是 | |
reteLimitingName | String | 流控策略名称 | 是 | |
desc | String | API描述 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改人 | 是 | |
modifierTime | String | 修改时间 | 是 | |
content | RateLimitConfig | 流控策略配置 | 是 | |
bindedApis | List<ApiBasic> | 策略绑定API | 是 | 无 |
1.8.2 IpRestriction
IP访问限制策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
ipRestrictionId | Number | IP限制策略ID | 是 | |
ipRestrictionName | String | IP限制策略名称 | 是 | |
desc | String | 描述 | 是 | |
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改人 | 是 | |
modifierTime | String | 修改时间 | 是 | |
content | IpRestrictConfig | IP限制策略配置 | 是 | |
bindedApis | List<ApiBasic> | 策略所绑定的Api | 是 | 无 |
1.8.3 Alert
报警策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
alertId | Number | 报警策略ID | 是 | |
apiName | String | 报警策略名称 | 是 | |
type | String | 报警策略类型 | 是 | |
desc | String | 描述 | ||
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改人 | 是 | |
modifyTime | String | 修改时间 | 是 | |
content | AlertContent | 报警配置 | 是 | |
bindedApis | List<ApiBasic> | 绑定的Api ID | 是 | 无 |
1.8.4 RowLevelPermission
行级权限策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
rowLevelPermissionId | Number | 行级权限ID | 是 | |
rowLevelPermissionName | String | 行级权限名称 | 是 | |
requestParameterType | String | 入参类型 | 是 | |
desc | String | 描述 | ||
creator | User | 创建者 | 是 | |
createTime | String | 创建时间 | 是 | |
modifier | User | 修改人 | 是 | |
modifierTime | String | 修改时间 | 是 | |
content | RowLevelPermissionContent | 行级策略配置信息 | 是 | |
bindedApps | List<AppBasic> | 策略绑定应用信息 | 是 | 无 |
1.8.5 RateLimitConfig
流量控制配置
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
unit | String | 时间 | 是 | |
number | Number | 允许访问次数 | 是 | 无 |
1.8.6 ApiBasic
Api基本信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
apiId | Number | 主键ID | 是 | |
apiName | String | api名称 | 是 | |
desc | String | 描述信息 | 是 | |
creator | User | 创建人 | 是 | |
setId | Number | api所属集合ID | 是 | |
setName | String | api所属集合名称 | 是 | |
envId | Number | api所属环境ID | 是 | |
envName | String | api所属环境名称 | 是 | 无 |
1.8.7 IpRestrictConfig
访问策略配置信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
whitelist | List<String> | 白名单 | ||
blacklist | List<String> | 黑名单 | 无 |
1.8.8 AlertContent
报警配置信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
channels | List<AlertChannel> | 报警通道 | ||
receivers | List<User> | 接收人 | ||
rules | List<AlertRule> | 报警规则 | ||
condition | String | 报警满足条件 and or | ||
supperssion | AlertSuppression | 报警抑制 | 无 |
1.8.9 AlertChannel
报警通道信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
channelId | Number | 报警通道ID | ||
channelName | String | 报警通道名称 | 无 |
1.8.10 AlertRule
报警规则
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
type | String | 报警规则类型 AlertRuleTypeEnum | ||
operator | String | 操作符 | ||
threshold | String | 报警阈值 | ||
slowQueryTime | Number | 慢查询时间定义 | 无 |
1.8.11 AlertSuppression
报警抑制信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
minutes | Number | 时间,单位分钟 | ||
number | Number | 次数 | 无 |
1.8.12 RowLevelPermissionContent
行级策略配置
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
whiteList | List<String> | 行级策略白名单 | 无 |
1.8.13 AppBasic
App应用基本信息
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
appId | Number | App应用ID | ||
appName | String | app名称 | ||
desc | String | 描述信息 | ||
creator | User | 创建人邮箱 | 无 |
1.8.14 RateLimitStrategyDto
API绑定的流控策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
rateLimitId | Number | 流控策略ID | 是 | |
rateLimitName | String | 流控策略名称 | 是 | |
modifier | String | 修改人 | 是 | |
modifierCN | String | 修改人中文名 | 是 | |
modifyTime | Number | 修改时间 | 是 | 无 |
1.8.15 IpRestrictionStrategyDto
API绑定的ip访问策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
ipRestrictionId | Number | ip白名单策略ID | 是 | |
ipRestrictionName | String | ip白名单策略名称 | 是 | |
modifier | String | 修改人 | 是 | |
modifierCN | String | 修改人中文名 | 是 | |
modifyTime | Number | 修改时间 | 是 | 无 |
1.8.16 AlarmStrategyDto
API绑定的报警策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
alarmStrategyId | Number | 报警策略ID | 是 | |
alarmStrategyName | String | 报警策略名称 | 是 | |
modifier | String | 修改人 | 是 | |
modifierCN | String | 修改人中文名 | 是 | |
modifyTime | Number | 修改时间 | 是 | 无 |
1.8.17 AlarmStrategyDto
API绑定的各种策略
字段 | 类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
rateLimitStrategies | List<RateLimitStrategyDto> | 限流策略列表 | 是 | |
ipRestrictionStrategies | List<IpRestrictionStrategyDto> | ip白名单策略列表 | 是 | |
alarmStrategies | List<AlarmStrategyDto> | 报警策略列表 | 是 | 无 |
二、OpenAPI列表
2.1 OpenAPI总览
2.2 服务概览
2.2.1 查询API总数量&调用总次数
GET /system/v4/api-index/get
产品版本:v1.4.9.0
描述:查询数据服务内API的总数量和调用总次数
URL参数/请求体
无
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | AllApiIndex | API的总数量和调用总次数 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"apiCount":101,
"apiCallCount":1243213214
}
}
2.2.2 查询系统指标
GET /system/v4/index/get
产品版本:v1.4.9.0
描述:按项目、时间范围查询系统指标,包括累计已发布的API数量、调用API数量、调用次数、成功次数、创建应用数量等
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
beginTimestamp | Number | 开始时间戳,单位ms,闭合 | 是 | |
endTimestamp | Number | 结束时间戳,单位ms,闭合 | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&begin=2022-02-01 20:30:57&end=2022-02-15 20:30:57
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | SystemIndex | 系统指标 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pulishedApiCount":1,
"calledApiCount":1,
"apiCallCount":1,
"successCount":1,
"appCount":1,
"responseSizeCount":1
}
}
2.2.3 查询API调用次数TopN
GET /system/v4/topn/api/call/list
产品版本:v1.4.9.0
描述:按项目、时间范围查询API调用次数TopN
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
limit | Number | 取前多少个 | 否 | 10 |
beginTimestamp | Number | 开始时间戳,单位ms,闭合 | 是 | |
endTimestamp | Number | 结束时间戳,单位ms,闭合 | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&limit=1&begin=2022-02-01 20:30:57&end=2022-02-15 20:30:57
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | List<ApiCall> | API调用次数集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":\[
{
"apiId":1,
"apiName":"测试API",
"count":1010
}
\]
}
2.2.4 查询API调用失败率TopN
GET /system/v4/topn/api/failure-rate/list
产品版本:v1.4.9.0
描述:按项目、时间范围查询API调用失败率TopN
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
limit | Number | 取前多少个 | 否 | 10 |
beginTimestamp | Number | 开始时间戳,单位ms,闭合 | 是 | |
endTimestamp | Number | 结束时间戳,单位ms吗,闭合 | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&limit=1&begin=2022-02-01 20:30:57&end=2022-02-15 20:30:57
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | List<FailureRate> | 调用失败率集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":\[
{
"apiId":1,
"apiName":"测试API",
"rate":0.5
}
\]
}
2.2.5 查询API调用平均响应时间TopN
GET /system/v4/topn/api/avg-response-time/list
产品版本:v1.4.9.0
描述:按项目、时间范围查询API调用平均响应时间TopN
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
limit | Number | 取前多少个 | 否 | 10 |
beginTimestamp | Number | 开始时间戳,单位ms,闭合 | 是 | |
endTimestamp | Number | 结束时间戳,单位ms,闭合 | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&limit=1&begin=2022-02-01 20:30:57&end=2022-02-15 20:30:57
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | List<AvgRespTime> | 平均响应时间集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":\[
{
"apiId":1,
"apiName":"测试API",
"avgRespTime":100
}
\]
}
2.2.6 查询应用调用TopN
GET /system/v4/topn/app/call/list
产品版本:v1.4.9.0
描述:按项目、时间范围查询应用调用TopN,注意只在开启细粒度监控时该OpenAPI可用
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
limit | Number | 取前多少个 | 否 | 10 |
beginTimestamp | Number | 开始时间戳,单位ms,闭合 | 是 | |
endTimestamp | Number | 结束时间戳,单位ms,闭合 | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&limit=1&begin=2022-02-01 20:30:57&end=2022-02-15 20:30:57
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | List<AppCall> | 应用调用集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":\[
{
"appId":1,
"appName":"测试应用",
"count":100
}
\]
}
2.3 API管理
2.3.1 查询集合列表
POST /api/v4/set/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询集合列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
setName | String | 集合名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"setName": "测试集合"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<Set> | 集合分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize": 1,
"pageNum": 1,
"totalCount": 100,
"totalPage": 100,
"list": {
"apiSetId":1,
"apiSetName":"测试集合",
"apiSetPath":"/aaa/bbb",
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01"
}
}
}
2.3.2 查询API列表
POST /api/v4/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询API列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
apiName | String | API名称,支持模糊查询 | 否 | |
setIds | List<Number> | 集合ID集合 | 否 | |
datasourceTypes | List<String> | 数据源类型,例如 mysql、oracle... | 否 | |
apiStatuses | List<Number> | API状态集合 0=未发布 1=已发布 2=已下线 | 否 | |
testStatuses | List<Number> | 测试状态集合 0=待测试 1=测试成功 2=测试失败 | 否 | |
buildModes | List<Number> | 生成方式 0=向导 1=SQL | 否 | |
apiTypes | List<Number> | API类型集合 0=新建API 1=注册API 2=服务编排 | 否 | |
beginTimestamp | Number | 创建开始时间,单位ms,闭合 | 否 | |
endTimestamp | Number | 创建结束时间,单位ms,闭合 | 否 | |
apiTags | List<String> | API标签集合 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":1,
"pageNum":25,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"apiName": "测试API",
"setIds": \[1\],
"datasources":\["mysql", "oracle"\],
"apiStatuses":\[0\],
"testStatuses":\[0\],
"buildMode":\[0\],
"apiTypes":\[0\],
"begin": "2022-02-16 14:09:09",
"end": "2022-02-16 14:09:09",
"apiTags":\["xxx", "yyy"\]
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | Number | 响应码 |
reqId | String | 请求ID |
cost | Number | 耗时 |
msg | String | 响应消息 |
result | PageResult<ApiSimple> | API分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize": 1,
"pageNum": 1,
"totalCount": 100,
"totalPage": 100,
"list": \[
{
"apiId":1,
"apiName":"测试API",
"apiPath":"aaa",
"desc":"xxxxxx",
"locked": 0,
"apiStatus": 0,
"testStatus": 0,
"apiTags": \["xxx", "yyy"\],
"buildMode": 0,
"apiType": 0,
"lastCallTime": "2022-02-17 14:31:22",
"callTotal": 0,
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01"
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifyTime":"2022-02-17 11:39:01",
"envId":1,
"envName":"线上环境",
"setId":1,
"setName":"测试集合",
"setPath":"bbb"
}
\]
}
}
2.3.3 查询API详情列表
POST /api/v4/detail/list
产品版本:v1.6.2
描述:条件查询API详情列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
apiName | String | API名称,支持模糊查询 | 否 | |
setIds | List<Number> | 集合ID集合 | 否 | |
datasourceTypes | List<String> | 数据源类型,例如 mysql、oracle... | 否 | |
apiStatuses | List<Number> | API状态集合 0=未发布 1=已发布 2=已下线 | 否 | |
testStatuses | List<Number> | 测试状态集合 0=待测试 1=测试成功 2=测试失败 | 否 | |
buildModes | List<Number> | 生成方式 0=向导 1=SQL | 否 | |
apiTypes | List<Number> | API类型集合 0=新建API 1=注册API 2=服务编排 | 否 | |
beginTimestamp | Number | 创建开始时间,单位ms,闭合 | 否 | |
endTimestamp | Number | 创建结束时间,单位ms,闭合 | 否 | |
apiTags | List<String> | API标签集合 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":1,
"pageNum":25,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"apiName": "测试API",
"setIds": \[1\],
"datasources":\["mysql", "oracle"\],
"apiStatuses":\[0\],
"testStatuses":\[0\],
"buildMode":\[0\],
"apiTypes":\[0\],
"begin": "2022-02-16 14:09:09",
"end": "2022-02-16 14:09:09",
"apiTags":\["xxx", "yyy"\],
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | Number | 响应码 |
reqId | String | 请求ID |
cost | Number | 耗时 |
msg | String | 响应消息 |
result | PageResult<ApiV2> | API分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize": 1,
"pageNum": 1,
"totalCount": 100,
"totalPage": 100,
"list": \[
{
"apiId":1,
"apiName":"测试API",
"apiPath":"aaa",
"desc":"xxxxxx",
"locked": 0,
"apiStatus": 0,
"testStatus": 0,
"apiTags": \["xxx", "yyy"\],
"buildMode": 0,
"apiType": 0,
"lastCallTime": "2022-02-17 14:31:22",
"callTotal": 0,
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01"
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifyTime":"2022-02-17 11:39:01",
"envId":1,
"envName":"线上环境",
"setId":1,
"setName":"测试集合",
"setPath":"bbb",
"apiBindAppList": \[\],
"apiStrategyInfoDto": {
"rateLimitStrategies": \[\],
"ipRestrictionStrategies": \[\],
"alarmStrategies": \[\]
}
}
\]
}
}
2.3.4 查询API详情
GET /api/v4/get
产品版本:v1.4.9.0
描述:按API ID查询API的详细信息
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
apiId | Number | API ID | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&apiId=1
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Api | API |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"apiId":1,
"apiName":"测试API",
"apiPath":"aaa",
"desc":"xxxxxx",
"apiPath":"aaa",
"locked":0,
"apiStatus":0,
"testStatus":0,
"apiTags":\[
"xxx",
"yyy"
\],
"bulidMode":0,
"apiType":0,
"lastCallTime":"2022-02-17 14:31:22",
"callCount":0,
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifyTime":"2022-02-17 11:39:01",
"envId":1,
"envName":"线上环境",
"setId":1,
"setName":"测试集合",
"setPath":"bbb",
"groupId":1,
"groupName":"xxx",
"protocol":"HTTP",
"requestMethod":"GET",
"responseType":"JSON",
"url":"xxxxxxxxxxxxxxxxxxx",
"apiToken":"xxxxxxxxxx",
"timeout":10000,
"collaborators":\[
{
"user":"xxx",
"fullName":"yyy"
}
\],
"successDemo":"xxx",
"failDemo":"xxx",
"wizardContent": {
"source": \[
{
"id": 1,
"name": "xxx",
"type": "mysql",
"db": "xxx",
"table": "xxx"
}
\],
"request": \[
{
"name": "xxx",
"requestMethod": "GET",
"position": "QUERY",
"parameterType": "common",
"type": "long",
"need": false,
"defaultValue": "11",
"example": "22",
"description": "xxx"
}
\],
"response": \[
{
"returnName": "id",
"dbField": "id",
"type": "long",
"description": "API调用响应码ID"
}
\],
"caching": true,
"cachingTime": 10,
"cachingTimeUnit": "minute",
"where": \[
{
"type": "and",
"filters": \[
{
"inputField": "id",
"dbField": "id",
"dbFieldType": "int",
"description": "API调用响应码ID",
"operator": "="
}
\],
"nestFilters": \[\]
}
\],
"sort": \[
{
"name": "id",
"description": "API调用响应码ID",
"asc": 0
}
\]
}
}
}
2.3.5 查询API历史记录
GET /api/v4/history/list
产品版本:v1.4.9.0
描述:按API ID查询API的历史逻辑版本
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
apiId | Number | API ID | 是 | 无 |
请求示例:
?product=mammut_qa&user=xxx&apiId=1
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | List<ApiHistoryRecord> | API历史记录 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":\[
{
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"creatorTime":"2022-02-25 11:22:33"
"version":0
"used":true
"wizardContent": {
"source": \[
{
"id": 1,
"name": "xxx",
"type": "mysql",
"db": "xxx",
"table": "xxx"
}
\],
"request": \[
{
"name": "xxx",
"requestMethod": "GET",
"position": "QUERY",
"parameterType": "common",
"type": "long",
"need": false,
"defaultValue": "11",
"example": "22",
"description": "xxx"
}
\],
"response": \[
{
"returnName": "id",
"dbField": "id",
"type": "long",
"description": "API调用响应码ID"
}
\],
"caching": true,
"cachingTime": 10,
"cachingTimeUnit": "minute",
"where": \[
{
"type": "and",
"filters": \[
{
"inputField": "id",
"dbField": "id",
"dbFieldType": "int",
"description": "API调用响应码ID",
"operator": "="
}
\],
"nestFilters": \[\]
}
\]
}
}
\]
}
2.3.6 修改API负责人
POST /api/v4/api-owner/update
产品版本:v1.6.2
描述:申请应用绑定至API
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
apiId | Number | API iD | 是 | |
owner | String | API负责人 | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"apiId":1,
"owner":"xxxx"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4 应用管理
2.4.1 查询应用列表
POST /app/v4/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询应用列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
appName | String | 应用名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"appName": "测试应用"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<App> | 应用分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize": 1,
"pageNum": 1,
"totalCount": 100,
"totalPage": 100,
"list": {
"appId":1,
"appName":"测试集合",
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"authorizedApis":\[
{
"apiId":1,
"apiName":"xxx",
"desc":"xxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"setId":1,
"setName":"xxx",
"envId":1,
"envName":"线上环境",
"authorizer":"xxx",
"authorizerCN":"xxx",
"authorizerTime":"2022-02-17 19:42:14",
"expireTime":"2022-02-17 19:42:19"
}
\]
}
}
}
2.4.2 申请应用绑定至API
POST /app/v4/api/auth/apply
产品版本:v1.4.9.0
描述:申请应用绑定至API
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appId | Number | 应用ID | 是 | |
apiId | Number | API iD | 是 | |
reason | String | 申请原因 | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appId":1,
"apiId":1,
"reason":"xxxx"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4.3 API与应用解绑
POST /app/v4/api/auth/unbind
产品版本:v1.6.2
描述:API与应用解绑
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appId | Number | 应用ID | 是 | |
apiId | Number | API iD | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appId":1,
"apiId":1
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4.4 创建应用
POST /app/v4/create
产品版本:v1.6.2
描述:创建应用
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appName | String | 应用名称 | 是 | |
appDesc | String | 应用描述 | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appName":"xxxx",
"appDesc":"xxxx"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4.5 删除应用
POST /app/v4/delete
产品版本:v1.6.2
描述:删除应用
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appIdList | List<Integer> | 应用Id列表 | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appIdList":\[1,2,3\],
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4.6 修改应用
POST /app/v4/update
产品版本:v1.6.2
描述:修改应用
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appId | Number | 应用id | 是 | |
appName | String | 应用名称 | 是 | |
appDesc | String | 应用描述 | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appId":1,
"appName":"xxxx",
"appDesc":"xxxx"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":true
}
2.4.7 API与应用绑定
POST /app/v4/api/auth/bind
产品版本:v1.7.0.1
描述:应用绑定至API
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
appId | Number | 应用ID | 是 | |
apiId | Number | API ID | 是 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"appId":1,
"apiId":1
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | Boolean | 结果 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":null
}
2.5 策略管理
2.5.1 查询流控策略列表
POST /strategy/v4/rate-limiting/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询流控策略列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
strategyName | String | 策略名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"strategyName": "测试策略"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<RateLimiting> | 流控策略分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize":1,
"pageNum":1,
"totalCount":100,
"totalPage":100,
"list":{
"rateLimitingId":1,
"rateLimitingName":"测试流控",
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifierTime":"2022-02-17 11:39:01",
"content":{
"unit":"second",
"number":10
},
"bindedApis":\[
{
"apiId":1,
"apiName":"xxx",
"desc":"xxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"setId":1,
"setName":"xxx",
"envId":1,
"envName":"线上环境",
"opeator":"xxx",
"opeatorCN":"xxx",
"opeatorTime":"2022-02-17 21:04:54"
}
\]
}
}
}
2.5.2 查询访问策略列表
POST /strategy/v4/ip-restriction/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询流控策略列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
strategyName | String | 策略名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"strategyName": "测试策略"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<IpRestriction> | 流控策略分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize":1,
"pageNum":1,
"totalCount":100,
"totalPage":100,
"list":{
"ipRestrictionId":1,
"ipRestrictionName":"测试流控",
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifierTime":"2022-02-17 11:39:01",
"content":{
"whitelist":\["1.1.1.1"\],
"blacklist":\["2.2.2.2"\]
},
"bindedApis":\[
{
"apiId":1,
"apiName":"xxx",
"desc":"xxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"setId":1,
"setName":"xxx",
"envId":1,
"envName":"线上环境",
"opeator":"xxx",
"opeatorCN":"xxx",
"opeatorTime":"2022-02-17 21:04:54"
}
\]
}
}
}
2.5.3 查询报警策略列表
POST /strategy/v4/alarm/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询报警策略列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
strategyName | String | 策略名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"strategyName": "测试策略"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<Alert> | 流控策略分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize":1,
"pageNum":1,
"totalCount":100,
"totalPage":100,
"list":{
"alarmId":1,
"alarmName":"测试流控",
"type":0,
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifierTime":"2022-02-17 11:39:01",
"content":{
"channels":\[
{
"channelId":1,
"channelName":"xxx"
}
\],
"receivers":\[
{
"user":"xxxx",
"fullName":"xxxx"
}
\],
"rules":\[
{
"type":"QPS",
"operator":">",
"threshold":10,
"slowQueryTime":100
}
\],
"condition":"or",
"suppression":{
"mintues":5,
"number":1
}
},
"bindedApis":\[
{
"apiId":1,
"apiName":"xxx",
"desc":"xxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"setId":1,
"setName":"xxx",
"envId":1,
"envName":"线上环境",
"opeator":"xxx",
"opeatorCN":"xxx",
"opeatorTime":"2022-02-17 21:04:54"
}
\]
}
}
}
2.5.4 查询行级权限列表
POST /strategy/v4/row-level-permission/list
产品版本:v1.4.9.0
描述:按项目、分页条件、筛选条件查询行级策略列表
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
product | String | 项目名称 | 是 | |
user | String | 用户邮箱 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 当前页码 | 否 | 1 |
creators | List<String> | 创建人邮箱集合 | 否 | |
strategyName | String | 策略名称,支持模糊查询 | 否 | 无 |
请求示例:
{
"product":"mammut\_qa",
"user":"xxxx",
"pageSize":10,
"pageNum":2,
"creators":\[
"xxxxxx",
"yyyyyy"
\],
"strategyName": "测试策略"
}
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | PageResult<RowLevelPermission> | 流控策略分页集合 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":{
"pageSize":1,
"pageNum":1,
"totalCount":100,
"totalPage":100,
"list":{
"rowLevelPermissionId":1,
"rowLevelPermissionName":"测试流控",
"requestParameterType":"string",
"desc":"xxxxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"createTime":"2022-02-17 11:39:01",
"modifier": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"modifierTime":"2022-02-17 11:39:01",
"content":{
"whiteList":\["x","y","z"\]
},
"bindedApps":\[
{
"appId":1,
"appName":"xxx",
"desc":"xxx",
"creator": {
"user":"xxxxx",
"fullName":"yyyyy"
},
"opeator":"xxx",
"opeatorCN":"xxx",
"opeatorTime":"2022-02-17 21:04:54"
}
\]
}
}
}
2.6 运维操作
2.6.1 API缓存清理
GET /system/v4/cache/refresh
产品版本:v1.5.8.0
描述:清除api缓存
URL参数/请求体
名称 | 类型 | 描述 | 必须 | 默认值 |
---|---|---|---|---|
apiId | Integer | apiId | 是 | |
product | String | 项目 | 是 | |
user | String | 用户id(邮箱) | 是 | 无 |
响应体
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应码 |
reqId | string | 请求ID |
cost | number | 耗时 |
msg | string | 响应消息 |
result | null | 无 |
响应示例:
{
"code":0,
"reqId":"3b35310c3b024366b5600e66872214f5",
"cost":12,
"msg":"success",
"result":null
}