Files
pyGoEdge-UserPanel/reference/goedge 文档/APINodeService.md
2025-11-18 03:36:49 +08:00

10 KiB
Raw Blame History

APINodeService

API节点服务


countAllEnabledAPINodes

计算API节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodes
  • RPCrpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledAPINodesRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/countAllEnabledAPINodesWithSSLCertId
  • RPCrpc countAllEnabledAPINodesWithSSLCertId (CountAllEnabledAPINodesWithSSLCertIdRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledAPINodesWithSSLCertIdRequest)

{
  "sslCertId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/countAllEnabledAndOnAPINodes
  • RPCrpc countAllEnabledAndOnAPINodes (CountAllEnabledAndOnAPINodesRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledAndOnAPINodesRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/createAPINode
  • RPCrpc createAPINode (CreateAPINodeRequest) returns (CreateAPINodeResponse);

请求对象 (CreateAPINodeRequest)

{
  "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)

{
  "apiNodeId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/APINodeService/createAPINode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

debugAPINode

修改调试模式状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/APINodeService/debugAPINode
  • RPCrpc debugAPINode(DebugAPINodeRequest) returns (RPCSuccess);

请求对象 (DebugAPINodeRequest)

{
  "debug": "bool"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/deleteAPINode
  • RPCrpc deleteAPINode (DeleteAPINodeRequest) returns (RPCSuccess);

请求对象 (DeleteAPINodeRequest)

{
  "apiNodeId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/findAllEnabledAPINodes
  • RPCrpc findAllEnabledAPINodes (FindAllEnabledAPINodesRequest) returns (FindAllEnabledAPINodesResponse);

请求对象 (FindAllEnabledAPINodesRequest)

{}

响应对象 (FindAllEnabledAPINodesResponse)

{
  "apiNodes": "[]APINode"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/findCurrentAPINode
  • RPCrpc findCurrentAPINode(FindCurrentAPINodeRequest) returns (FindCurrentAPINodeResponse);

请求对象 (FindCurrentAPINodeRequest)

{}

响应对象 (FindCurrentAPINodeResponse)

{
  "apiNode": "APINode"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/findEnabledAPINode
  • RPCrpc findEnabledAPINode (FindEnabledAPINodeRequest) returns (FindEnabledAPINodeResponse);

请求对象 (FindEnabledAPINodeRequest)

{
  "apiNodeId": "int64"
}

响应对象 (FindEnabledAPINodeResponse)

{
  "apiNode": "APINode"
}

调用示例

curl -X POST "https://backend.dooki.cloud/APINodeService/findEnabledAPINode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findLatestDeployFiles

查找已有节点安装文件信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/APINodeService/findLatestDeployFiles
  • RPCrpc findLatestDeployFiles(FindLatestDeployFilesRequest) returns (FindLatestDeployFilesResponse);

请求对象 (FindLatestDeployFilesRequest)

{}

响应对象 (FindLatestDeployFilesResponse)

{
  "nodeDeployFiles": "[]DeployFile // 边缘节点",
  "nsNodeDeployFiles": "[]DeployFile // NS节点",
  "os": "string // 操作系统代号",
  "arch": "string // 架构",
  "version": "string // 版本号"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/listEnabledAPINodes
  • RPCrpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse);

请求对象 (ListEnabledAPINodesRequest)

{
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListEnabledAPINodesResponse)

{
  "apiNodes": "[]APINode"
}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/updateAPINode
  • RPCrpc updateAPINode (UpdateAPINodeRequest) returns (RPCSuccess);

请求对象 (UpdateAPINodeRequest)

{
  "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)

{}

调用示例

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
  • HTTPPOST https://backend.dooki.cloud/APINodeService/uploadAPINodeFile
  • RPCrpc uploadAPINodeFile(UploadAPINodeFileRequest) returns (UploadAPINodeFileResponse);

请求对象 (UploadAPINodeFileRequest)

{
  "filename": "string // 文件名",
  "sum": "string // 整个文件的SUM值",
  "chunkData": "bytes // 片段数据",
  "isFirstChunk": "bool // 是否为第一个片段",
  "isLastChunk": "bool // 是否为最后一个片段"
}

响应对象 (UploadAPINodeFileResponse)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/APINodeService/uploadAPINodeFile" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

uploadDeployFileToAPINode

上传节点安装文件

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/APINodeService/uploadDeployFileToAPINode
  • RPCrpc uploadDeployFileToAPINode(UploadDeployFileToAPINodeRequest) returns (RPCSuccess);

请求对象 (UploadDeployFileToAPINodeRequest)

{
  "filename": "string // 文件名",
  "sum": "string // 整个文件的SUM值",
  "chunkData": "bytes // 片段数据",
  "isFirstChunk": "bool // 是否为第一个片段",
  "isLastChunk": "bool // 是否为最后一个片段"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/APINodeService/uploadDeployFileToAPINode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'