GET /internal/audit/logs

服务间调用查询审计日志,无 JWT 认证,通过 InternalAPIKey 鉴权。参考:ISO 27001:2022 Annex A.12.4 (Event Logging)、PCI DSS v4.0 Req 10 (Log & Monitor)。

审计服务 - 内部接口 None application/json

请求参数

名称位置类型必填默认值示例约束描述
tenant_id query string 否 租户ID
user_id query string 否 用户ID
action query array 否 操作类型(可重复传递实现多值 OR 查询)
resource_type query string 否 资源类型
start_time query integer 否 开始时间戳(start_date 串优先)
end_time query integer 否 结束时间戳(end_date 串优先)
start_date query string 否 开始日期(YYYY-MM-DD,UTC+8;优先于 start_time)
end_date query string 否 结束日期(YYYY-MM-DD,UTC+8,含当日全量;优先于 end_time)
page query integer 否 1 页码(默认1)
page_size query integer 否 20 每页条数(默认20)

响应

状态描述Schema
200查询结果service-audit/internal/handler/dto.AuditLogListResponse
400请求参数校验失败dto.Problem
401未认证dto.Problem
500服务内部错误dto.Problem

引用的 Schema

dto.FieldViolation

字段类型必填示例约束描述
code string 否 Code 是错误代码(可选) 用于程序识别错误类型,如 "required", "format", "range"
description string 否 Description 是人类可读的错误描述 应该说明违反了什么规则,如 "必须是一个有效的邮箱地址"
field string 否 Field 是错误字段的路径 使用点号表示嵌套字段,如 "user.email" 或 "addresses[0].city"
standard string 否 Standard 是指向权威规范文档的 URI 引用 用于告知 API 消费者具体违反哪个标准 示例:"https://www.rfc-editor.org/info/rfc5322"
value object 否 Value 是导致错误的值(可选,开发模式下使用) 生产环境可能不返回此字段以避免泄露敏感信息

dto.Problem

字段类型必填示例约束描述
code integer 否 Code 是业务错误码 用于程序处理特定错误场景 示例:30101001
detail string 否 Detail 是针对此具体错误实例的人类可读解释 可以包含具体的错误细节,如"Field 'email' is required"
errors array of

参见 dto.FieldViolation

否 Errors 是字段级验证错误列表(扩展字段) 遵循 Web API 标准实践,每个错误包含字段名和错误信息
i18n_args object 否 I18nArgs 是国际化参数 用于动态填充翻译模板
i18n_key string 否 I18nKey 是国际化键 用于客户端本地化错误消息 示例:"error.user_not_found"
instance string 否 Instance 是发生问题的具体URI引用 通常是请求的URL,可能包含查询参数 示例:"/api/v1/users?limit=invalid"
request_id string 否 RequestID 是请求唯一标识 用于日志关联和问题追踪 示例:"req_550e8400-e29b-41d4-a716-446655440000"
retry_after integer 否 RetryAfter 用于 429 Too Many Requests 响应 指示客户端应在多少秒后重试请求(RFC 6585)
service string 否 Service 是服务名 用于微服务架构中定位错误来源 示例:"auth-service"
span_id string 否 SpanID 是当前 span 标识 用于精确定位分布式链路中的当前节点
status integer 否 Status 是产生的HTTP状态码 用于客户端区分问题类型,不随Accept-Language变化 示例:400, 401, 403, 404, 500
timestamp string 否 Timestamp 是错误发生时间 ISO 8601 格式 示例:"2026-04-03T12:00:00Z"
title string 否 Title 是简短、人类可读的问题类型摘要 相同的 Type 应该始终有相同的 Title(不随实例变化) 示例:"Invalid Request Parameters"
trace_id string 否 TraceID 是分布式追踪标识 遵循 W3C Trace Context 标准 示例:"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
type string 否 Type 是标识问题类型的URI引用 当该URI被解引用时,应提供人类可读的文档 示例:"https://api.example.com/errors/invalid-request"

service-audit/internal/handler/dto.AuditLogListResponse

字段类型必填示例约束描述
code integer 否
items array of

参见 service-audit/internal/handler/dto.AuditLogResponse

否 统一使用 items
message string 否
pagination object 否 分页信息(嵌套对象)
timestamp string 否
total integer 否 总条数(平铺,便于直接读取)

service-audit/internal/handler/dto.AuditLogResponse

审计日志记录信息

字段类型必填示例约束描述
action string 否 user.login 操作
app_id string 否 app_xyz 应用ID
duration integer 否 150 耗时(ms)
id string 否 audit_abc123 日志ID
ip string 否 192.168.1.1 IP
level string 否 info 级别
message string 否 用户登录成功 消息
metadata object 否 元数据
module string 否 identity 模块
operator_id string 否 usr_abc123 操作者ID
operator_type string 否 user 操作者类型
request_id string 否 req_xyz789 请求ID
sequence integer 否 12345 序列号
status integer 否 0 状态
target_id string 否 usr_target 目标ID
target_type string 否 user 目标类型
tenant_id string 否 tnt_abc123 租户ID
timestamp integer 否 1713175800 时间戳
trace_id string 否 4bf92f3577b34da6a3ce929d0e0e4736 W3C 追踪ID
user_agent string 否 Mozilla/5.0... UA

service-core/base/dto.PageInfo

字段类型必填示例约束描述
has_next boolean 否 HasNext indicates whether there is a next page
has_prev boolean 否 HasPrev indicates whether there is a previous page
page integer 否 Page is the current page number (1-based)
page_size integer 否 PageSize is the number of items per page
total integer 否 Total is the total number of items across all pages
total_pages integer 否 TotalPages is the total number of pages