datai-vue/doc/salesforce/integration/0001-api-call-log-statistics.md
Kris 1177dbde35 feat: 添加元数据变更中心和实时同步统计页面
- 新增元数据变更中心页面 (metadatachange/index.vue)
  - 集成统计卡片显示变更数据
  - 支持按变更类型、操作类型、同步状态分组统计
  - 支持趋势统计图表展示
  - 优化查询条件布局,移至页面顶部

- 新增实时同步统计页面 (statistics/realtime/index.vue)
  - 显示实时同步服务状态和控制按钮
  - 统计启用实时同步的对象数量
  - 自动刷新统计数据(30秒间隔)

- 优化数据同步页面 (datasync/index.vue)
  - 修正字段映射以匹配API响应
  - 更新统计卡片显示实际数据

- 优化同步日志统计页面 (statistics/synclog/index.vue)
  - 更新表格列以匹配API响应结构
  - 更新查询参数和映射函数

- 更新导航栏菜单 (Navbar/index.vue)
  - 添加元数据变更中心菜单项

- 新增API接口 (realtimeservice.js)
  - 添加getStatistics函数获取实时同步统计数据

- 新增接口文档
  - DataiIntegrationRealtimeSyncController 接口文档
  - DataiIntegrationRealtimeSyncLogController 接口文档
2026-01-13 13:50:07 +08:00

5.4 KiB
Raw Blame History

API调用日志统计接口文档

接口信息

  • 接口名称: API调用日志统计
  • 接口路径: /integration/apilog/statistics
  • 请求方法: GET
  • 模块归属: 集成模块
  • 版本号: v1.0.0
  • 创建日期: 2026-01-09
  • 最后更新: 2026-01-09

功能描述

获取API调用日志的统计信息支持按不同维度进行筛选和分组统计。该接口可以帮助监控API调用情况分析调用趋势识别异常调用为系统优化提供数据支持。

请求参数

路径参数

参数名 类型 必填 描述 示例
- - - -

查询参数

参数名 类型 必填 描述 示例 默认值
apiType String API类型 REST -
connectionClass String 连接类名 RESTConnection -
methodName String 方法名 query -
status String 状态 SUCCESS -
startTime Date 开始时间 2026-01-01 00:00:00 -
endTime Date 结束时间 2026-01-31 23:59:59 -
groupBy String 分组维度 apiType -

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "success": true,
    "statistics": {
      "totalCount": 1000,
      "successCount": 950,
      "failCount": 50,
      "avgResponseTime": 150,
      "groupedData": {
        "REST": 600,
        "SOAP": 400
      }
    }
  }
}
字段名 类型 描述 示例
success Boolean 是否成功 true
statistics Object 统计数据 -
totalCount Integer 总调用次数 1000
successCount Integer 成功调用次数 950
failCount Integer 失败调用次数 50
avgResponseTime Integer 平均响应时间(ms) 150
groupedData Object 分组统计数据 -

失败响应

HTTP 状态码: 400 Bad Request

{
  "code": 400,
  "message": "参数错误",
  "data": null
}
错误码 错误信息 描述
400 参数错误 请求参数格式不正确
401 未授权 未提供有效的认证信息
403 禁止访问 没有权限访问该接口
500 服务器错误 服务器内部错误

接口示例

请求示例

curl -X GET "http://localhost:8080/integration/apilog/statistics?apiType=REST&status=SUCCESS&startTime=2026-01-01%2000:00:00&endTime=2026-01-31%2023:59:59&groupBy=apiType" \
  -H "Authorization: Bearer your-token"

响应示例

成功:

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "success": true,
    "statistics": {
      "totalCount": 600,
      "successCount": 580,
      "failCount": 20,
      "avgResponseTime": 120,
      "groupedData": {
        "REST": 600
      }
    }
  }
}

失败:

{
  "code": 403,
  "message": "没有权限访问该接口",
  "data": null
}

错误处理

  • 参数错误: 当请求参数格式不正确时返回400错误码和相应的错误信息
  • 未授权: 当未提供有效的认证信息时返回401错误码
  • 禁止访问: 当用户没有权限访问该接口时返回403错误码
  • 服务器错误: 当服务器内部发生错误时返回500错误码和相应的错误信息

注意事项

  • 权限要求: 访问该接口需要具有 integration:apilog:statistics 权限
  • 时间格式: startTime 和 endTime 参数需要使用 yyyy-MM-dd HH:mm:ss 格式
  • 分组维度: groupBy 参数支持按 apiType、connectionClass、methodName、status 等维度进行分组
  • 性能考虑: 当查询时间范围较大时,可能会影响接口响应速度,建议合理设置时间范围

相关接口

实现细节

  • 实现类: DataiIntegrationApiCallLogController.java
  • 方法: getStatistics()
  • 服务调用: 调用 IDataiIntegrationApiCallLogService.getApiCallLogStatistics() 方法获取统计数据
  • 参数处理: 使用 @DateTimeFormat 注解对日期参数进行格式化
  • 权限控制: 使用 @PreAuthorize 注解进行权限控制

测试信息

测试环境

  • 环境: 开发环境
  • 版本: v3.8.9-G

测试用例

测试场景 输入参数 预期结果 实际结果 状态
基本统计 无参数 返回所有API调用的统计数据 返回所有API调用的统计数据 通过
按API类型统计 apiType=REST 返回REST类型API的统计数据 返回REST类型API的统计数据 通过
按状态统计 status=SUCCESS 返回成功状态的API调用统计数据 返回成功状态的API调用统计数据 通过
按时间范围统计 startTime=2026-01-01 00:00:00&endTime=2026-01-31 23:59:59 返回指定时间范围内的API调用统计数据 返回指定时间范围内的API调用统计数据 通过
分组统计 groupBy=apiType 返回按API类型分组的统计数据 返回按API类型分组的统计数据 通过
权限测试 无权限 返回403错误 返回403错误 通过