datai/docs/archive/api-docs/integration/DataiIntegrationApiCallLogController/0001-api-call-log-statistics.md

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 注解进行权限控制

测试信息

测试环境

  • 环境: 开发环境
  • 版本: v1.0.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
基本统计 无参数 返回所有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错误 通过