16 KiB
【金山文档 | WPS云文档】 网关 API 文档
https://kdocs.cn/l/cboRgHwJiGUI
网关实例 API 文档
1. 分页查询网关实例列表
接口地址: GET /gateway/instance/list
请求参数:
?pageNum=1&pageSize=10&ip=127&port=8080&healthStatus=false&syncStatus=false&enabled=false
pageNum(可选):页码,默认1pageSize(可选):每页大小,默认10ip(可选):网关实例IP,支持模糊port(可选):网关实例端口healthStatus(可选):健康状态 true 和 falsesyncStatus(可选):配置同步状态 true 和 falseenabled(可选):是否启用 true 和 false
响应示例:
{
"total": 1,
"rows": [
{
"id": 1,
"ip": "127.0.0.1",
"port": "8080",
"healthStatus": false,
"healthCheckTime": "2025-07-29 15:36:29",
"syncStatus": false,
"syncTime": null,
"enabled": false
}
],
"code": 200,
"msg": "查询成功"
}
2. 配置同步接口
接口地址
POST /gateway/instance/sync/{instanceId}
响应示例
{
"id": 10001,
"status": true,
"time": "2024-05-18 14:33:55"
}
3. 状态刷新接口
接口地址
GET /gateway/instance/refresh/{instanceId}
响应示例
{
"id": 10001,
"status": true,
"time": "2024-05-18 14:33:55"
}
4. 配置查询接口
接口地址
GET /gateway/instance/config/detail/{instanceId}
响应示例
待补充
网关服务实例管理 API 文档
1. 分页查询网关服务实例
接口地址: GET /gateway/service-instance/list
请求参数:
name(可选): 服务实例名称,支持模糊搜索mode(可选): 转发模式,0-负载均衡,1-静态地址pageNum(可选): 页码,默认1pageSize(可选): 每页大小,默认10
响应示例:
{
"total": 2,
"rows": [
{
"serviceId": 2,
"name": "mock-uri",
"mode": 0,
"uris": [
{
"id": 2,
"serviceId": 2,
"uri": "https://mock.p.cdn.10086.cn",
"enabled": 1
}
]
},
{
"serviceId": 1,
"name": "portal-dev",
"mode": 0,
"uris": [
{
"id": 1,
"serviceId": 1,
"uri": "http://127.0.0.1:8080",
"enabled": 1
}
]
}
],
"code": 200,
"msg": "查询成功"
}
2. 批量更新网关服务实例
接口地址: POST /gateway/service-instance/batch-update
请求体示例:
{
"deleteServiceIds": [
// 3,
5
],
"addServiceInstances": [
// {
// "name": "new-service5",
// "mode": 0,
// "uris": [
// {
// "uri": "http://new-service.com",
// "enabled": 1
// }
// ]
// }
],
"updateServiceInstances": [
{
"serviceId": 3,
"name": "updated-portal-dev",
"mode": 1,
"uris": [
{
"uri": "http://updated.127.0.0.1:8080",
"enabled": 1
},
{
"uri": "http://backup.127.0.0.1:8080",
"enabled": 0
}
]
}
]
}
响应示例:
{
"code": 200,
"msg": "批量更新服务实例配置成功",
"data": null
}
{
"code": 400,
"msg": "批量更新服务实例配置失败: 服务实例名称已存在: new-service",
"data": null
}
{
"code": 200,
"msg": "批量更新服务实例配置成功",
"data": null
}
3. 获取服务实例ID和名称对应关系
接口地址: GET /gateway/service-instance/id-name-map
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": {
"1": "portal-dev",
"2": "mock-uri",
"3": "updated-portal-dev"
}
}
网关路由配置管理 API 文档
1. 分页查询网关路由配置
接口地址:GET /gateway/config/list
请求参数:
routeName(可选): 路由名称,支持模糊搜索serviceId(可选): 服务实例IDenabled(可选): 是否启用,true-启用,false-禁用pageNum(可选): 页码,默认1pageSize(可选): 每页大小,默认10
响应示例:
{
"code": 200,
"msg": "查询成功",
"total": 2,
"rows": [
{
"routeId": 1,
"routeName": "portal-api",
"serviceId": 1,
"serviceName": "portal-dev",
"remark": "门户API路由",
"order": 0,
"enabled": true,
"paths": ["/api/portal/**", "/portal/**"],
"methods": ["GET", "POST"],
"requestParams": [
{"version": "v1"},
{"source": "web"}
],
"createTime": "2024-01-15 10:30:00",
"updateTime": "2024-01-15 10:30:00"
},
{
"routeId": 2,
"routeName": "user-service",
"serviceId": 2,
"serviceName": "mock-uri",
"remark": "用户服务路由",
"order": 1,
"enabled": true,
"paths": ["/api/user/**"],
"methods": ["GET", "POST", "PUT", "DELETE"],
"requestParams": [],
"createTime": "2024-01-15 11:00:00",
"updateTime": "2024-01-15 11:00:00"
}
]
}
2. 批量更新网关路由配置
接口地址:POST /gateway/config/batch-update
请求体示例:
{
"deleteRouteIds": [
3
],
"addRoutes": [
{
"routeName": "new-api-route5",
"serviceId": 3,
"remark": "新增API路由",
"priority": 0,
"enabled": true,
"paths": [
{
"path": "/api/new/**"
}
],
"methods": [
{
"method": "GET"
},
{
"method": "POST"
}
],
"params": [
{
"paramName": "version",
"paramValue": "v2"
}
]
}
],
"updateRoutes": [
{
"routeId": 4,
"routeName": "updated-portal-api4",
"serviceId": 2,
"remark": "更新后的门户API路由",
"priority": 1,
"enabled": false,
"paths": [
{
"path": "/api/portal/v2/**"
},
{
"path": "/portal/new/**"
}
],
"methods": [
{
"method": "GET"
},
{
"method": "POST"
},
{
"method": "PUT"
}
],
"params": [
{
"paramName": "version",
"paramValue": "v2"
},
{
"paramName": "client",
"paramValue": "web"
}
]
}
]
}
响应示例:
{
"code": 200,
"msg": "批量更新路由配置成功",
"data": null
}
获取网关转发记录
1. 分页查询网关转发记录列表
接口地址:GET /gateway/record/list
请求参数:
pageNum(可选):页码,默认1pageSize(可选):每页大小,默认10uuid(可选):请求UUIDrequestUrl(可选):接口路径,支持模糊搜索method(可选):请求方法,如GET、POST等targetEndpoint(可选):目的地址httpCode(可选):请求响应码traceId(可选):链路追踪IDgatewayEndpoint(可选):网关地址routeId(可选):请求匹配的路由IDrouteName(可选):路由名称requestTimeStart(可选):请求开始时间,格式:yyyy-MM-dd HH:mm:ssrequestTimeEnd(可选):请求结束时间,格式:yyyy-MM-dd HH:mm:ssminCostTime(可选):最小耗时(ms)maxCostTime(可选):最大耗时(ms)
响应示例:
{
"total": 2,
"rows": [
{
"recordId": 91041,
"uuid": "4c091ee8-8fc6-4796-8b4e-34f3cc2bda15",
"requestTime": "2025-07-29 15:15:03",
"requestUrl": "/api/v1/payment/callback",
"method": "GET",
"targetEndpoint": "192.168.1.102:8080",
"httpCode": 400,
"traceId": "4c091ee88fc64796",
"gatewayEndpoint": "192.168.208.18:8087",
"routeId": 2,
"routeName": "IBS->BBoss",
"costTime": 67
},
{
"recordId": 70130,
"uuid": "925d255e-26b0-45a9-9944-3e37b195f38c",
"requestTime": "2025-07-29 15:12:42",
"requestUrl": "/api/v1/user/logout",
"method": "PUT",
"targetEndpoint": "192.168.1.100:8080",
"httpCode": 200,
"traceId": "925d255e26b045a9",
"gatewayEndpoint": "192.168.208.16:8087",
"routeId": 2,
"routeName": "IBS->BBoss",
"costTime": 394
}
],
"code": 200,
"msg": "查询成功"
}
2. 根据记录ID获取详情信息
接口地址:GET /gateway/record/detail/{recordId}
路径参数:
recordId:记录ID
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": {
"requestParam": "{aaa=[111, 222], bbb=[333]}",
"requestBody": "{\r\n \"content\": {\r\n \"ECID\": \"ECID1695801457\",\r\n \"OrderType\": \"2\", // 1:试用申请 2:业务开通 3:试用变更 4:试用暂停 5:试用恢复 6:业务注销 7:试用删除\r\n \"ProductID\": \"AA11131040\",\r\n \"ProvID\": \"000\", // 主办省代码\r\n \"TrialNo\": \"TEST20241111001\",\r\n // \"Domain\": [\r\n // \"www.zphconflict10241513.com.99.cdnhwcqir15.com\",\r\n // ],\r\n \"BusiType\": \"1\", // 1、点播下载网页类; 4、直播类; 试用单/开通单必传\r\n // \"ECNumber\": \"13810151511\",\r\n // \"ECMail\": \"123@123.com\",\r\n // \"InfoSecurityTable\": \"info_security_file2.xlsx\"\r\n }\r\n}",
"requestHeaders": "[Content-Type:\"application/json\", User-Agent:\"PostmanRuntime/7.29.2\", Accept:\"*/*\", Postman-Token:\"cdc4bd2d-e7bc-481d-a390-02e848131c24\", Host:\"127.0.0.1:8087\", Accept-Encoding:\"gzip, deflate, br\", Connection:\"keep-alive\", Content-Length:\"705\"]",
"responseBody": "{\n\t\"providePartyID\":\"CDNP9950\",\n\t\"response\":{\n\t\t\"rspCode\":\"00000\",\n\t\t\"rspDesc\":\"成功\"\n\t},\n\t\"result\":\"{\\\"ResCode\\\":\\\"00\\\",\\\"ResDetail\\\":\\\"成功\\\"}\",\n\t\"transIDH\":\"1612\",\n\t\"transIDHTime\":\"20250724172043\"\n}",
"responseHeaders": "[Access-Control-Allow-Methods:\"POST, GET, OPTIONS\", Access-Control-Max-Age:\"3600\", Access-Control-Allow-Headers:\"content-type,x-requested-with,Authorization, x-request-with,x-ui-request,lang,x-csrf-token,csrf-token\", Access-Control-Allow-Credentials:\"true\", X-Content-Type-Options:\"nosniff\", X-XSS-Protection:\"1; mode=block\", Cache-Control:\"no-cache, no-store, max-age=0, must-revalidate\", Pragma:\"no-cache\", Expires:\"0\", Content-Type:\"application/json\", Content-Length:\"205\", Date:\"Thu, 24 Jul 2025 09:20:43 GMT\"]"
}
}
错误响应示例:
{
"code": 500,
"msg": "记录不存在或详情信息为空",
"data": null
}
3. 获取数据看板统计信息
接口地址:GET /gateway/record/dashboard
请求参数:
startTime(必填):开始时间,格式:yyyy-MM-ddendTime(必填):结束时间,格式:yyyy-MM-dd
请求示例:
?startTime=2025-07-24&endTime=2025-07-31
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": {
"totalRequestCount": 137116,
"requestCount": 0,
"requestCountChange": -418,
"requestCountRatio": -100.00,
"successRate": 0,
"successRateChange": -58.85,
"successRateRatio": -100.00,
"avgCostTime": 0.00,
"avgCostTimeChange": -3043.73,
"avgCostTimeRatio": -100.00
}
}
4. 获取曲线图数据
接口地址:POST /gateway/record/chart
请求体示例:
{
"startTime": "2025-01-01",
"endTime": "2025-07-31",
"timeGranularity": "1MONTH",
"requestUrl": "/api/v2/sync/BBOSS/PreCheckServ",
"method": "GET",
"targetEndpoint": "127.0.0.1:8080",
"httpCode": 200,
"gatewayEndpoint": "192.168.208.16:8087",
"minCostTime": 2000,
"maxCostTime": 5000,
"routeId": 1
}
请求参数说明:
startTime(必填):查询开始时间,格式:yyyy-MM-ddendTime(必填):查询结束时间,格式:yyyy-MM-ddtimeGranularity(必填):时间粒度,可选值:5MIN:5分钟1HOUR:1小时1DAY:1天1WEEK:1周1MONTH:1月
requestUrl(可选):接口路径过滤条件method(可选):请求方法过滤条件targetEndpoint(可选):目的地址过滤条件httpCode(可选):请求响应码过滤条件gatewayEndpoint(可选):网关地址过滤条件minCostTime(可选):最小耗时(ms)过滤条件maxCostTime(可选):最大耗时(ms)过滤条件routeId(可选):路由ID过滤条件
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": {
"dataPoints": [
{
"timePoint": "2025-02-01 00:00:00",
"count2xx": 2,
"count4xx": 0,
"count5xx": 0,
"count3xx": 0,
"avgCostTime": 3557.00
},
{
"timePoint": "2025-04-01 00:00:00",
"count2xx": 3,
"count4xx": 0,
"count5xx": 0,
"count3xx": 0,
"avgCostTime": 3791.33
},
{
"timePoint": "2025-05-01 00:00:00",
"count2xx": 1,
"count4xx": 0,
"count5xx": 0,
"count3xx": 0,
"avgCostTime": 4858.00
},
{
"timePoint": "2025-06-01 00:00:00",
"count2xx": 1,
"count4xx": 0,
"count5xx": 0,
"count3xx": 0,
"avgCostTime": 3668.00
}
]
}
}
响应字段说明:
timePoint:时间点(时间轴X轴)count2xx:2xx状态码请求次数count3xx:3xx状态码请求次数count4xx:4xx状态码请求次数count5xx:5xx状态码请求次数avgCostTime:平均耗时(ms),保留2位小数
5. 获取去重的请求URL列表
接口地址:GET /gateway/record/request-urls
请求参数:无
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": [
"/api/v1/order/cancel",
"/api/v1/order/create",
"/api/v1/order/query",
"/api/v1/order/update",
"/api/v1/payment/callback",
"/api/v1/payment/create",
"/api/v1/payment/query",
"/api/v1/product/detail",
"/api/v1/product/list",
"/api/v1/product/search",
"/api/v1/system/config",
"/api/v1/system/health",
"/api/v1/system/monitor",
"/api/v1/user/login",
"/api/v1/user/logout",
"/api/v1/user/profile",
"/api/v2/sync/BBOSS/PauseResultServ",
"/api/v2/sync/BBOSS/PreCheckServ",
"/api/v2/sync/BBOSS/QueryServ",
"/api/v2/sync/BBOSS/UpdateServ"
]
}
响应字段说明:
data:去重后的请求URL列表
6. 获取去重的目标端点列表
接口地址:GET /gateway/record/target-endpoints
请求参数:无
响应示例:
{
"code": 200,
"msg": "操作成功",
"data": [
"127.0.0.1:8080",
"127.0.0.1:8081",
"127.0.0.1:8082",
"192.168.1.100:8080",
"192.168.1.101:8080",
"192.168.1.102:8080",
"mock.p.cdn.10086.cn:443"
]
}
响应字段说明:
data:去重后的目标端点列表