准备与添加 Restful API 数据源


EnOS 数字孪生可视化可通过 Restful API 连接外部数据源数据。

准备 Restful API


如需数字孪生可视化获取数据并使用,则需使用以下接口获取数据。

Get Category List 与 Get Entity List


请求


请根据以下示例定义接口中的字段:

使用 key: {path},定义接口 path 作为唯一 key。 使用 name: paths.{path}.get.summary,定义 summary 字段作为页面展示名称。 在 paths.{path}.get.parameters 中添加 in:"query",将 parameters[index].name 作为 param key 传递给接口。 使用 parameters[index].type == "内容",定义数据为内容。 使用 parameters[index].enum = ["选项1", "选项2"],定义数据为下拉选项。 使用 format == "date-time",定义数据为日期。

返回代码


{
   key: string,
   name: string,
   options?: {key: string, name: string, type: string, mode: 'multipule', enum?:  {key: string, name: string}

}[]

返回示例


[
  {
    key: 'teamLeftBugs',
    name: '遗留Bug分布',
    options: [ // options 可选,如果获取数据接口需要参数,可在此描述
      {
        key: 'week', //
        name: '时间段',
        type: 'string', // string, datetime.  string 类型如果还有 enum 字段,则代表 select 下拉选择,否则是 input 输入;
                        // datetime 为 Datepicker 选择,传参格式为 '2020-09-07 22:10:00'
        mode: 'multiple', // string || null, mode 为 multiple 则为多选,mode 为空则默认单选
        enum: [
          {
            key: '2020-08-31~2020-09-06',
            name: '2020-08-31~2020-09-06'
          },
          {
            key: '2020-08-24~2020-08-30',
            name: '2020-08-24~2020-08-30'
          }
        ]
      }
    ]
  },
  {
    key: 'UTTop10',
    name: 'UT覆盖率TOP 10'
  }
]

Get Metadata


请求


path: /getMetadata
method: POST
cookie: 携带
body:
{
 category: 'teamLeftBugs'
}

返回


{key: string, name: string}[]

返回示例


[
  {
    key: 'project',
    name: 'project'
  },
  {
    key: 'open',
    name: 'open'
  },
  {
    key: 'resolved',
    name: 'resolved'
  },
  {
    key: 'total',
    name: 'total'
  }
]

Get Data


请求


path: /getData
method: POST
cookie: 携带
body:
{
 category: 'teamLeftBugs',
 fields: ['project', 'open'] // 如不想处理可忽略此参数,
 week: '2020-08-31~2020-09-06' // (如果有 options 参数)
}

返回


Object[]

返回示例


[
                {
                    "project": "AEP",
                    "open": 35,
                    "resolved": 10,
                    "total": 45
                },
                {
                    "project": "EDP",
                    "open": 12,
                    "resolved": 7,
                    "total": 19
                },
                {
                    "project": "MF",
                    "open": 5,
                    "resolved": 0,
                    "total": 5
                }
            ]

连接至数字孪生可视化


通过以下步骤,添加此类外部数据源:

  1. 在左侧导航栏中,选择 指标工具 > 数据源
  2. 选择 外部数据源 页签。
  3. 选择 新建数据源 并提供所需信息。
    • 类型:选择 Restful API
    • 名称:指定数据源的名称。
    • 可见范围:指定数据源的范围。
      • 内部:仅限于 OU 内部使用。
      • 公开:可供其他 OU 使用。
    • Host:输入 Restful 服务器路径。
    • 请求 Method:选择 Restful 请求方式(POST 或 GET)。
    • 缓存元数据:指定清空元数据缓存的时间。
    • 缓存值数据:指定清空值数据缓存的时间。
  4. 选择 确定


现在可以在 图表编辑器 中选择配置好的 Restful API 外部数据源。

返回码


在组件中选择 Restful API 数据源后,需通过查看返回码确认是否请求成功。若返回 code 为 0,则数据连接成功;若返回其他 code,则数据连接失败。

成功示例


{
"code": 0,
"message": "成功",
"data": exampledata
}

失败示例


{
"code": 500,
"message": "错误信息"
}

登录鉴权


Restful API 连接数据无鉴权,如需鉴权,联系系统管理员。

相关信息


有关缓存的更多信息,参见 配置数据源缓存