切换主题
操作日志 API 接口文档
本文档描述了操作日志服务的API接口,包括日志插入和查询功能。
目录
插入日志接口
接口信息
- 接口地址:
POST /add/{businessCode}
- 请求方式: POST
- Content-Type: application/json
路径参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
businessCode | string | 是 | 业务代码,用于区分不同的业务模块 |
请求参数
参数为业务配置的参数信息,需要使用驼峰方式传入。
请求示例
bash
curl -X POST http://localhost:9810/add/user-log \
-H "Content-Type: application/json" \
-d '{
"userId": "12345",
"action": "login",
"ip": "192.168.1.100",
"timestamp": "2024-01-01 12:00:00"
}'
响应参数
参数名 | 类型 | 说明 |
---|---|---|
code | integer | 响应码,0表示成功 |
successful | boolean | 是否成功 |
msg | string | 响应消息 |
data | object | 响应数据 |
encrypt | boolean | 是否加密 |
成功响应示例
json
{
"code": 0,
"successful": true,
"msg": null,
"data": null,
"encrypt": false
}
错误响应示例
json
{
"code": 400,
"successful": false,
"msg": "参数错误",
"data": null,
"encrypt": false
}
查询日志分页接口
接口信息
- 接口地址:
POST /page/{businessCode}
- 请求方式: POST
- Content-Type: application/json
路径参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
businessCode | string | 是 | 业务代码,用于区分不同的业务模块 |
请求参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pageNum | integer | 是 | 页码,从1开始 |
pageSize | integer | 是 | 每页大小,建议10-100 |
startTime | string | 否 | 开始时间,格式:YYYY-MM-DD HH:mm:ss |
endTime | string | 否 | 结束时间,格式:YYYY-MM-DD HH:mm:ss |
sortField | string | 否 | 排序字段 |
sortOrder | string | 否 | 排序方式,asc/desc,默认:desc |
extraParams | object | 否 | 额外查询参数 |
extraParams 用于传递自定义的查询字段,字段名需采用驼峰命名法,并与业务实体字段对应。
- 支持以
min
或max
前缀命名的字段进行区间查询(如minId
,maxId
)。 - 字符串类型字段会自动进行模糊查询。
- 如果字段值为数组:
- 字符串数组将进行多值模糊匹配(相当于多个关键字的模糊查询)。
- 数字数组将自动转换为 SQL 的 IN 查询。
请求示例
bash
curl -X POST http://localhost:9810/query/user-log \
-H "Content-Type: application/json" \
-d '{
"pageNum": 1,
"pageSize": 10,
"extraParams": {
"operationDesc": "",
"requestParam": [],
"maxId": 20,
"minId": 10
},
"startTime": "2024-01-01 00:00:00",
"endTime": "2024-12-31 23:59:59",
"sortField": "createTime",
"sortOrder": "desc"
}'
响应参数
参数名 | 类型 | 说明 |
---|---|---|
pageNum | integer | 当前页码 |
pageSize | integer | 每页大小 |
total | integer | 总记录数 |
pages | integer | 总页数 |
list | array | 数据列表 |
成功响应示例
json
{
"code": 0,
"successful": true,
"msg": null,
"data": {
"pageNum": 1,
"pageSize": 10,
"total": 100,
"pages": 10,
"list": [
{
"id": 20,
"logId": "a4cc6d7e-39d4-49bf-b5c2-3388cc5c206f",
"operationDesc": "用户登录",
"requestIp": "192.168.1.100",
"requestParam": "{\"username\":\"admin\"}",
"requestUrl": "/api/login",
"createTime": "2024-01-01 12:00:00",
"executeTime": 0.842
}
]
},
"encrypt": false
}
错误响应示例
json
{
"code": 400,
"successful": false,
"msg": "查询参数错误",
"data": null,
"encrypt": false
}
注意事项
- 业务代码: 每个业务模块应使用唯一的businessCode,便于日志分类管理
- 时间格式: 所有时间字段均使用
YYYY-MM-DD HH:mm:ss
格式 - 分页优化: 建议使用maxId和minId参数进行分页优化,提高查询性能
- 数据量限制: 单次查询建议pageSize不超过100,避免响应时间过长
- 字符编码: 请求和响应均使用UTF-8编码