Initial commit
This commit is contained in:
519
reference/goedge 文档/APINodeService.md
Normal file
519
reference/goedge 文档/APINodeService.md
Normal file
@@ -0,0 +1,519 @@
|
||||
# APINodeService
|
||||
> API节点服务
|
||||
|
||||
---
|
||||
|
||||
## countAllEnabledAPINodes
|
||||
> 计算API节点数量
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodes`
|
||||
- RPC:`rpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse);`
|
||||
|
||||
**请求对象 (`CountAllEnabledAPINodesRequest`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCCountResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"count": "int64 // 数量"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodes" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## countAllEnabledAPINodesWithSSLCertId
|
||||
> 计算使用某个SSL证书的API节点数量
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodesWithSSLCertId`
|
||||
- RPC:`rpc countAllEnabledAPINodesWithSSLCertId (CountAllEnabledAPINodesWithSSLCertIdRequest) returns (RPCCountResponse);`
|
||||
|
||||
**请求对象 (`CountAllEnabledAPINodesWithSSLCertIdRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"sslCertId": "int64"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCCountResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"count": "int64 // 数量"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodesWithSSLCertId" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## countAllEnabledAndOnAPINodes
|
||||
> 计算启用的API节点数量
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/countAllEnabledAndOnAPINodes`
|
||||
- RPC:`rpc countAllEnabledAndOnAPINodes (CountAllEnabledAndOnAPINodesRequest) returns (RPCCountResponse);`
|
||||
|
||||
**请求对象 (`CountAllEnabledAndOnAPINodesRequest`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCCountResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"count": "int64 // 数量"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/countAllEnabledAndOnAPINodes" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## createAPINode
|
||||
> 创建API节点
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/createAPINode`
|
||||
- RPC:`rpc createAPINode (CreateAPINodeRequest) returns (CreateAPINodeResponse);`
|
||||
|
||||
**请求对象 (`CreateAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "string // API节点名称",
|
||||
"description": "string // API节点描述",
|
||||
"httpJSON": "bytes // 监听HTTP地址配置 json:http_protocol",
|
||||
"httpsJSON": "bytes // 监听HTTPS地址配置 json:https_protocol",
|
||||
"accessAddrsJSON": "bytes // 访问地址 json:network_address",
|
||||
"isOn": "bool // 是否启用当前API节点",
|
||||
"restIsOn": "bool // 是否启用API",
|
||||
"restHTTPJSON": "bytes // API地址HTTP地址配置 json:http_protocol",
|
||||
"restHTTPSJSON": "bytes // API地址HTTPS地址配置 json:https_protocol"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`CreateAPINodeResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodeId": "int64"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/createAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## debugAPINode
|
||||
> 修改调试模式状态
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/debugAPINode`
|
||||
- RPC:`rpc debugAPINode(DebugAPINodeRequest) returns (RPCSuccess);`
|
||||
|
||||
**请求对象 (`DebugAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"debug": "bool"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCSuccess`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/debugAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## deleteAPINode
|
||||
> 删除API节点
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/deleteAPINode`
|
||||
- RPC:`rpc deleteAPINode (DeleteAPINodeRequest) returns (RPCSuccess);`
|
||||
|
||||
**请求对象 (`DeleteAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodeId": "int64"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCSuccess`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/deleteAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## findAllEnabledAPINodes
|
||||
> 列出所有可用API节点
|
||||
|
||||
- 角色:`dns`, `user`, `node`, `admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/findAllEnabledAPINodes`
|
||||
- RPC:`rpc findAllEnabledAPINodes (FindAllEnabledAPINodesRequest) returns (FindAllEnabledAPINodesResponse);`
|
||||
|
||||
**请求对象 (`FindAllEnabledAPINodesRequest`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**响应对象 (`FindAllEnabledAPINodesResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodes": "[]APINode"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/findAllEnabledAPINodes" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## findCurrentAPINode
|
||||
> 获取当前API节点的信息
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/findCurrentAPINode`
|
||||
- RPC:`rpc findCurrentAPINode(FindCurrentAPINodeRequest) returns (FindCurrentAPINodeResponse);`
|
||||
|
||||
**请求对象 (`FindCurrentAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**响应对象 (`FindCurrentAPINodeResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNode": "APINode"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/findCurrentAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## findEnabledAPINode
|
||||
> 根据ID查找节点
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/findEnabledAPINode`
|
||||
- RPC:`rpc findEnabledAPINode (FindEnabledAPINodeRequest) returns (FindEnabledAPINodeResponse);`
|
||||
|
||||
**请求对象 (`FindEnabledAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodeId": "int64"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`FindEnabledAPINodeResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNode": "APINode"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/findEnabledAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## findLatestDeployFiles
|
||||
> 查找已有节点安装文件信息
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/findLatestDeployFiles`
|
||||
- RPC:`rpc findLatestDeployFiles(FindLatestDeployFilesRequest) returns (FindLatestDeployFilesResponse);`
|
||||
|
||||
**请求对象 (`FindLatestDeployFilesRequest`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**响应对象 (`FindLatestDeployFilesResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"nodeDeployFiles": "[]DeployFile // 边缘节点",
|
||||
"nsNodeDeployFiles": "[]DeployFile // NS节点",
|
||||
"os": "string // 操作系统代号",
|
||||
"arch": "string // 架构",
|
||||
"version": "string // 版本号"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/findLatestDeployFiles" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## listEnabledAPINodes
|
||||
> 列出单页的API节点
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/listEnabledAPINodes`
|
||||
- RPC:`rpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse);`
|
||||
|
||||
**请求对象 (`ListEnabledAPINodesRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"offset": "int64 // 读取位置",
|
||||
"size": "int64 // 数量,通常不能小于0"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`ListEnabledAPINodesResponse`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodes": "[]APINode"
|
||||
}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/listEnabledAPINodes" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## updateAPINode
|
||||
> 修改API节点
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/updateAPINode`
|
||||
- RPC:`rpc updateAPINode (UpdateAPINodeRequest) returns (RPCSuccess);`
|
||||
|
||||
**请求对象 (`UpdateAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"apiNodeId": "int64 // API节点ID",
|
||||
"name": "string // API节点名称",
|
||||
"description": "string // API节点描述",
|
||||
"httpJSON": "bytes // 监听HTTP地址配置 json:http_protocol",
|
||||
"httpsJSON": "bytes // 监听HTTPS地址配置 json:https_protocol",
|
||||
"accessAddrsJSON": "bytes // 访问地址 json:network_address",
|
||||
"isOn": "bool // 是否启用当前API节点",
|
||||
"restIsOn": "bool // 是否启用API",
|
||||
"restHTTPJSON": "bytes // API地址HTTP地址配置 json:http_protocol",
|
||||
"restHTTPSJSON": "bytes // API地址HTTPS地址配置 json:https_protocol",
|
||||
"isPrimary": "bool // 是否为主要API节点,日常任务主要运行在主要API节点上"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCSuccess`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/updateAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## uploadAPINodeFile
|
||||
> 上传新版API节点文件
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/uploadAPINodeFile`
|
||||
- RPC:`rpc uploadAPINodeFile(UploadAPINodeFileRequest) returns (UploadAPINodeFileResponse);`
|
||||
|
||||
**请求对象 (`UploadAPINodeFileRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"filename": "string // 文件名",
|
||||
"sum": "string // 整个文件的SUM值",
|
||||
"chunkData": "bytes // 片段数据",
|
||||
"isFirstChunk": "bool // 是否为第一个片段",
|
||||
"isLastChunk": "bool // 是否为最后一个片段"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`UploadAPINodeFileResponse`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/uploadAPINodeFile" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## uploadDeployFileToAPINode
|
||||
> 上传节点安装文件
|
||||
|
||||
- 角色:`admin`
|
||||
- HTTP:`POST https://backend.dooki.cloud/APINodeService/uploadDeployFileToAPINode`
|
||||
- RPC:`rpc uploadDeployFileToAPINode(UploadDeployFileToAPINodeRequest) returns (RPCSuccess);`
|
||||
|
||||
**请求对象 (`UploadDeployFileToAPINodeRequest`)**
|
||||
|
||||
```json
|
||||
{
|
||||
"filename": "string // 文件名",
|
||||
"sum": "string // 整个文件的SUM值",
|
||||
"chunkData": "bytes // 片段数据",
|
||||
"isFirstChunk": "bool // 是否为第一个片段",
|
||||
"isLastChunk": "bool // 是否为最后一个片段"
|
||||
}
|
||||
```
|
||||
|
||||
**响应对象 (`RPCSuccess`)**
|
||||
|
||||
```json
|
||||
{}
|
||||
```
|
||||
|
||||
**调用示例**
|
||||
|
||||
```bash
|
||||
curl -X POST "https://backend.dooki.cloud/APINodeService/uploadDeployFileToAPINode" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||||
-d '{
|
||||
...
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user