455 lines
12 KiB
YAML
455 lines
12 KiB
YAML
basePath: /api/v1
|
||
definitions:
|
||
network.AsyncTaskCreateRequest:
|
||
properties:
|
||
params:
|
||
description: 'required: true'
|
||
type: object
|
||
task_type:
|
||
description: |-
|
||
required: true
|
||
enum: TOPOLOGY_ANALYSIS, PERFORMANCE_ANALYSIS, EVENT_ANALYSIS, BATCH_IMPORT
|
||
example: TOPOLOGY_ANALYSIS
|
||
type: string
|
||
type: object
|
||
network.AsyncTaskCreateResponse:
|
||
properties:
|
||
task_id:
|
||
example: 123e4567-e89b-12d3-a456-426614174000
|
||
type: string
|
||
type: object
|
||
network.AsyncTaskResult:
|
||
properties:
|
||
created_at:
|
||
example: 1741846200
|
||
type: integer
|
||
error_code:
|
||
example: 400102
|
||
type: integer
|
||
error_detail:
|
||
type: object
|
||
error_message:
|
||
example: Component UUID not found
|
||
type: string
|
||
finished_at:
|
||
example: 1741846205
|
||
type: integer
|
||
progress:
|
||
example: 65
|
||
type: integer
|
||
result:
|
||
type: object
|
||
status:
|
||
example: COMPLETED
|
||
type: string
|
||
task_id:
|
||
example: 123e4567-e89b-12d3-a456-426614174000
|
||
type: string
|
||
task_type:
|
||
example: TOPOLOGY_ANALYSIS
|
||
type: string
|
||
type: object
|
||
network.AsyncTaskResultQueryResponse:
|
||
properties:
|
||
tasks:
|
||
items:
|
||
$ref: '#/definitions/network.AsyncTaskResult'
|
||
type: array
|
||
total:
|
||
example: 3
|
||
type: integer
|
||
type: object
|
||
network.FailureResponse:
|
||
properties:
|
||
code:
|
||
example: 3000
|
||
type: integer
|
||
msg:
|
||
example: process completed with partial failures
|
||
type: string
|
||
payload:
|
||
type: object
|
||
type: object
|
||
network.MeasurementRecommendPayload:
|
||
properties:
|
||
input:
|
||
example: transformfeeder1_220.
|
||
type: string
|
||
offset:
|
||
example: 21
|
||
type: integer
|
||
recommended_list:
|
||
example:
|
||
- '["I_A_rms"'
|
||
- ' "I_B_rms"'
|
||
- '"I_C_rms"]'
|
||
items:
|
||
type: string
|
||
type: array
|
||
recommended_type:
|
||
example: grid_tag
|
||
type: string
|
||
type: object
|
||
network.RealTimeDataPayload:
|
||
properties:
|
||
sub_pos:
|
||
description: TODO 增加example tag
|
||
type: object
|
||
type: object
|
||
network.RealTimeMeasurementItem:
|
||
properties:
|
||
interval:
|
||
example: "1"
|
||
type: string
|
||
targets:
|
||
example:
|
||
- '["grid1.zone1.station1.ns1.tag1.bay.I11_A_rms"'
|
||
- '"grid1.zone1.station1.ns1.tag1.tag1.bay.I11_B_rms"]'
|
||
items:
|
||
type: string
|
||
type: array
|
||
type: object
|
||
network.RealTimeSubPayload:
|
||
properties:
|
||
client_id:
|
||
example: 5d72f2d9-e33a-4f1b-9c76-88a44b9a953e
|
||
type: string
|
||
targets:
|
||
items:
|
||
$ref: '#/definitions/network.TargetResult'
|
||
type: array
|
||
type: object
|
||
network.RealTimeSubRequest:
|
||
properties:
|
||
action:
|
||
description: |-
|
||
required: true
|
||
enum: [start, stop]
|
||
example: start
|
||
type: string
|
||
client_id:
|
||
example: 5d72f2d9-e33a-4f1b-9c76-88a44b9a953e
|
||
type: string
|
||
measurements:
|
||
description: 'required: true'
|
||
items:
|
||
$ref: '#/definitions/network.RealTimeMeasurementItem'
|
||
type: array
|
||
type: object
|
||
network.SuccessResponse:
|
||
properties:
|
||
code:
|
||
example: 2000
|
||
type: integer
|
||
msg:
|
||
example: process completed
|
||
type: string
|
||
payload:
|
||
type: object
|
||
type: object
|
||
network.TargetResult:
|
||
properties:
|
||
code:
|
||
example: 20000
|
||
type: integer
|
||
id:
|
||
example: grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_A_rms
|
||
type: string
|
||
msg:
|
||
example: subscription success
|
||
type: string
|
||
type: object
|
||
host: localhost:8080
|
||
info:
|
||
contact:
|
||
email: douxu@clea.com.cn
|
||
name: douxu
|
||
url: http://www.swagger.io/support
|
||
description: 实时数据计算和模型运行服务的 API 服务
|
||
license:
|
||
name: Apache 2.0
|
||
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
||
title: ModelRT 实时模型服务 API 文档
|
||
version: "1.0"
|
||
paths:
|
||
/data/realtime:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 根据用户输入的组件token,从 dataRT 服务中持续获取测点实时数据
|
||
parameters:
|
||
- description: 测量点唯一标识符 (e.g.grid_1:zone_1:station_1:transformfeeder1_220.I_A_rms)
|
||
in: query
|
||
name: token
|
||
required: true
|
||
type: string
|
||
- description: 查询起始时间 (Unix时间戳, e.g., 1761008266)
|
||
in: query
|
||
name: begin
|
||
required: true
|
||
type: integer
|
||
- description: 查询结束时间 (Unix时间戳, e.g., 1761526675)
|
||
in: query
|
||
name: end
|
||
required: true
|
||
type: integer
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 返回实时数据成功
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.RealTimeDataPayload'
|
||
type: object
|
||
"400":
|
||
description: 返回实时数据失败
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 获取实时测点数据
|
||
tags:
|
||
- RealTime Component
|
||
/measurement/recommend:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 根据用户输入的字符串,从 Redis 中查询可能的测量点或结构路径,并提供推荐列表。
|
||
parameters:
|
||
- description: 推荐关键词,例如 'grid1' 或 'grid1.'
|
||
example: '"grid1"'
|
||
in: query
|
||
name: input
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 返回推荐列表成功
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.MeasurementRecommendPayload'
|
||
type: object
|
||
"400":
|
||
description: 返回推荐列表失败
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 测量点推荐(搜索框自动补全)
|
||
tags:
|
||
- Measurement Recommend
|
||
/model/diagram_load/{page_id}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: load circuit diagram info by page id
|
||
parameters:
|
||
- description: page ID
|
||
in: path
|
||
name: page_id
|
||
required: true
|
||
type: integer
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: request process success
|
||
schema:
|
||
$ref: '#/definitions/network.SuccessResponse'
|
||
"400":
|
||
description: request process failed
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: load circuit diagram info
|
||
tags:
|
||
- load circuit_diagram
|
||
/monitors/data/realtime/stream/:clientID:
|
||
get:
|
||
description: 根据用户输入的clientID拉取对应的实时数据
|
||
responses: {}
|
||
summary: 实时数据拉取 websocket api
|
||
tags:
|
||
- RealTime Component Websocket
|
||
/monitors/data/subscriptions:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 根据用户输入的组件token,从 modelRT 服务中开始或结束对于量测节点的实时数据的订阅
|
||
parameters:
|
||
- description: 量测节点实时数据订阅
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/network.RealTimeSubRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"2000":
|
||
description: 订阅实时数据结果列表
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.RealTimeSubPayload'
|
||
type: object
|
||
"3000":
|
||
description: 订阅实时数据结果列表
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.FailureResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.RealTimeSubPayload'
|
||
type: object
|
||
summary: 开始或结束订阅实时数据
|
||
tags:
|
||
- RealTime Component
|
||
/task/async:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 创建新的异步任务并返回任务ID,任务将被提交到队列等待处理
|
||
parameters:
|
||
- description: 任务创建请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/network.AsyncTaskCreateRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 任务创建成功
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.AsyncTaskCreateResponse'
|
||
type: object
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 创建异步任务
|
||
tags:
|
||
- AsyncTask
|
||
/task/async/{task_id}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 根据任务ID查询异步任务的详细状态和结果
|
||
parameters:
|
||
- description: 任务ID
|
||
in: path
|
||
name: task_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 查询成功
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.AsyncTaskResult'
|
||
type: object
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"404":
|
||
description: 任务不存在
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 查询异步任务详情
|
||
tags:
|
||
- AsyncTask
|
||
/task/async/{task_id}/cancel:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 取消指定ID的异步任务(如果任务尚未开始执行)
|
||
parameters:
|
||
- description: 任务ID
|
||
in: path
|
||
name: task_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 任务取消成功
|
||
schema:
|
||
$ref: '#/definitions/network.SuccessResponse'
|
||
"400":
|
||
description: 请求参数错误或任务无法取消
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"404":
|
||
description: 任务不存在
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 取消异步任务
|
||
tags:
|
||
- AsyncTask
|
||
/task/async/results:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 根据任务ID列表查询异步任务的状态和结果
|
||
parameters:
|
||
- description: 任务ID列表,用逗号分隔
|
||
in: query
|
||
name: task_ids
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 查询成功
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/definitions/network.SuccessResponse'
|
||
- properties:
|
||
payload:
|
||
$ref: '#/definitions/network.AsyncTaskResultQueryResponse'
|
||
type: object
|
||
"400":
|
||
description: 请求参数错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
"500":
|
||
description: 服务器内部错误
|
||
schema:
|
||
$ref: '#/definitions/network.FailureResponse'
|
||
summary: 查询异步任务结果
|
||
tags:
|
||
- AsyncTask
|
||
swagger: "2.0"
|