665 lines
16 KiB
Markdown
665 lines
16 KiB
Markdown
【金山文档 | 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` (可选):页码,默认1
|
||
- `pageSize` (可选):每页大小,默认10
|
||
- `ip`(可选):网关实例IP,支持模糊
|
||
- `port`(可选):网关实例端口
|
||
- `healthStatus`(可选):健康状态 true 和 false
|
||
- `syncStatus`(可选):配置同步状态 true 和 false
|
||
- `enabled`(可选):是否启用 true 和 false
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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}`
|
||
|
||
响应示例
|
||
|
||
```json
|
||
{
|
||
"id": 10001,
|
||
"status": true,
|
||
"time": "2024-05-18 14:33:55"
|
||
}
|
||
```
|
||
|
||
## 3. 状态刷新接口
|
||
|
||
接口地址
|
||
|
||
`GET /gateway/instance/refresh/{instanceId}`
|
||
|
||
响应示例
|
||
|
||
```json
|
||
{
|
||
"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` (可选): 页码,默认1
|
||
- `pageSize` (可选): 每页大小,默认10
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
请求体示例:
|
||
|
||
```json
|
||
{
|
||
"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
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"1": "portal-dev",
|
||
"2": "mock-uri",
|
||
"3": "updated-portal-dev"
|
||
}
|
||
}
|
||
```
|
||
|
||
# 网关路由配置管理 API 文档
|
||
|
||
## 1. 分页查询网关路由配置
|
||
|
||
接口地址:`GET /gateway/config/list`
|
||
|
||
请求参数:
|
||
|
||
- `routeName` (可选): 路由名称,支持模糊搜索
|
||
- `serviceId` (可选): 服务实例ID
|
||
- `enabled` (可选): 是否启用,true-启用,false-禁用
|
||
- `pageNum` (可选): 页码,默认1
|
||
- `pageSize` (可选): 每页大小,默认10
|
||
|
||
**响应示例:**
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
请求体示例:
|
||
|
||
```json
|
||
{
|
||
"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"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "批量更新路由配置成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
# 获取网关转发记录
|
||
|
||
## 1. 分页查询网关转发记录列表
|
||
|
||
接口地址:`GET /gateway/record/list`
|
||
|
||
请求参数:
|
||
|
||
- `pageNum` (可选):页码,默认1
|
||
- `pageSize` (可选):每页大小,默认10
|
||
- `uuid` (可选):请求UUID
|
||
- `requestUrl` (可选):接口路径,支持模糊搜索
|
||
- `method` (可选):请求方法,如GET、POST等
|
||
- `targetEndpoint` (可选):目的地址
|
||
- `httpCode` (可选):请求响应码
|
||
- `traceId` (可选):链路追踪ID
|
||
- `gatewayEndpoint` (可选):网关地址
|
||
- `routeId` (可选):请求匹配的路由ID
|
||
- `routeName` (可选):路由名称
|
||
- `requestTimeStart` (可选):请求开始时间,格式:yyyy-MM-dd HH:mm:ss
|
||
- `requestTimeEnd` (可选):请求结束时间,格式:yyyy-MM-dd HH:mm:ss
|
||
- `minCostTime` (可选):最小耗时(ms)
|
||
- `maxCostTime` (可选):最大耗时(ms)
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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\"]"
|
||
}
|
||
}
|
||
```
|
||
|
||
错误响应示例:
|
||
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "记录不存在或详情信息为空",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
## 3. 获取数据看板统计信息
|
||
|
||
接口地址:`GET /gateway/record/dashboard`
|
||
|
||
请求参数:
|
||
|
||
- `startTime` (必填):开始时间,格式:yyyy-MM-dd
|
||
- `endTime` (必填):结束时间,格式:yyyy-MM-dd
|
||
|
||
请求示例:
|
||
|
||
`?startTime=2025-07-24&endTime=2025-07-31`
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
请求体示例:
|
||
|
||
```json
|
||
{
|
||
"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-dd
|
||
- `endTime` (必填):查询结束时间,格式:yyyy-MM-dd
|
||
- `timeGranularity` (必填):时间粒度,可选值:
|
||
- `5MIN`:5分钟
|
||
- `1HOUR`:1小时
|
||
- `1DAY`:1天
|
||
- `1WEEK`:1周
|
||
- `1MONTH`:1月
|
||
- `requestUrl` (可选):接口路径过滤条件
|
||
- `method` (可选):请求方法过滤条件
|
||
- `targetEndpoint` (可选):目的地址过滤条件
|
||
- `httpCode` (可选):请求响应码过滤条件
|
||
- `gatewayEndpoint` (可选):网关地址过滤条件
|
||
- `minCostTime` (可选):最小耗时(ms)过滤条件
|
||
- `maxCostTime` (可选):最大耗时(ms)过滤条件
|
||
- `routeId` (可选):路由ID过滤条件
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
请求参数:无
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`
|
||
|
||
请求参数:无
|
||
|
||
响应示例:
|
||
|
||
```json
|
||
{
|
||
"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`:去重后的目标端点列表
|