# 基础设施API
**本文引用的文件**
- [ApiConstants.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/ApiConstants.java)
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java)
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java)
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java)
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java)
- [ConfigTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/config/ConfigTypeEnum.java)
- [FileController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileController.java)
- [FileConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileConfigController.java)
- [ApiAccessLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiAccessLogController.java)
- [ApiErrorLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiErrorLogController.java)
- [RedisController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/redis/RedisController.java)
- [ConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/config/ConfigController.java)
- [CodegenController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/codegen/CodegenController.java)
- [InfraServerApplication.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/InfraServerApplication.java)
## 目录
1. [简介](#简介)
2. [项目结构](#项目结构)
3. [核心组件](#核心组件)
4. [架构总览](#架构总览)
5. [详细组件分析](#详细组件分析)
6. [依赖关系分析](#依赖关系分析)
7. [性能考量](#性能考量)
8. [故障排查指南](#故障排查指南)
9. [结论](#结论)
10. [附录](#附录)
## 简介
本文件面向基础设施模块的API接口文档,覆盖以下能力域:
- 文件管理:文件上传、预签名URL生成、本地/云存储集成、文件预览与删除(通过控制器与DTO定义体现)
- 代码生成:数据库表结构生成、前后端代码模板生成、模板类型与场景枚举
- WebSocket通信:消息发送、对象序列化便捷方法
- 定时任务:模块内作业与调度(通过作业包与配置体现)
- 系统配置管理:参数配置查询、配置类型枚举
- 日志管理:访问日志与错误日志分页查询
- 基础设施监控:Redis监控接口
- 使用示例与最佳实践:结合DTO与控制器请求体说明
## 项目结构
基础设施模块采用“API接口 + 服务端控制器”的分层设计:
- API接口层:定义对外暴露的Feign接口与DTO,统一服务名与前缀
- 服务端控制器层:实现具体业务逻辑,提供RESTful接口
- 枚举与常量:集中管理模板类型、配置类型、API前缀等
```mermaid
graph TB
subgraph "API接口层"
FA["FileApi"]
WSA["WebSocketSenderApi"]
CA["ConfigApi"]
end
subgraph "服务端控制器层"
FC["FileController"]
FCC["FileConfigController"]
ACC["ApiAccessLogController"]
AEC["ApiErrorLogController"]
RC["RedisController"]
CC["ConfigController"]
CGC["CodegenController"]
end
subgraph "DTO与枚举"
FCR["FileCreateReqDTO"]
WSR["WebSocketSendReqDTO"]
CTT["CodegenTemplateTypeEnum"]
CTY["ConfigTypeEnum"]
AC["ApiConstants"]
end
FA --> FC
WSA --> RC
CA --> CC
FC --> FCR
WSA --> WSR
CC --> CTY
CGC --> CTT
FC --> AC
WSA --> AC
CA --> AC
```
图表来源
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L1-L74)
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java#L1-L75)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L1-L22)
- [FileController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileController.java)
- [FileConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileConfigController.java)
- [ApiAccessLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiAccessLogController.java)
- [ApiErrorLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiErrorLogController.java)
- [RedisController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/redis/RedisController.java)
- [ConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/config/ConfigController.java)
- [CodegenController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/codegen/CodegenController.java)
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L1-L26)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L1-L27)
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java#L1-L54)
- [ConfigTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/config/ConfigTypeEnum.java#L1-L22)
- [ApiConstants.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/ApiConstants.java#L1-L23)
章节来源
- [InfraServerApplication.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/InfraServerApplication.java)
## 核心组件
- API常量与前缀:统一服务名与API前缀,便于跨模块调用
- 文件API:文件上传、预签名URL生成
- WebSocket发送器:消息发送与对象序列化便捷方法
- 配置API:按Key查询配置值
- 代码生成枚举:模板类型与场景分类
- 配置类型枚举:系统配置与自定义配置
章节来源
- [ApiConstants.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/ApiConstants.java#L1-L23)
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L1-L74)
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java#L1-L75)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L1-L22)
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java#L1-L54)
- [ConfigTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/config/ConfigTypeEnum.java#L1-L22)
## 架构总览
基础设施模块通过Feign接口向其他模块暴露能力,服务端控制器实现具体业务,统一前缀与版本便于网关路由与鉴权。
```mermaid
sequenceDiagram
participant Caller as "调用方"
participant Feign as "FileApi/ConfigApi"
participant Ctrl as "FileController/ConfigController"
participant Biz as "业务服务"
participant Store as "存储(本地/云)"
participant Resp as "CommonResult"
Caller->>Feign : "POST /infra/v1/file/create"
Feign->>Ctrl : "转发请求"
Ctrl->>Biz : "保存文件/生成预签名URL"
Biz->>Store : "写入/读取"
Store-->>Biz : "返回访问路径/预签名URL"
Biz-->>Ctrl : "结果数据"
Ctrl-->>Resp : "封装CommonResult"
Resp-->>Feign : "返回响应"
Feign-->>Caller : "响应结果"
```
图表来源
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L57-L71)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L17-L19)
- [FileController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileController.java)
- [ConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/config/ConfigController.java)
## 详细组件分析
### 文件管理API
- 接口目标:提供文件上传与预签名URL生成能力
- 关键字段:
- FileCreateReqDTO:name、directory、type、content
- 预签名URL:url、expirationSeconds
- 默认重载方法:支持便捷传参
- 控制器职责:接收请求、调用业务服务、返回CommonResult
```mermaid
sequenceDiagram
participant Client as "客户端"
participant API as "FileApi"
participant Ctrl as "FileController"
participant Svc as "FileService"
participant Store as "存储"
Client->>API : "POST /infra/v1/file/create"
API->>Ctrl : "createFile(FileCreateReqDTO)"
Ctrl->>Svc : "saveFile(dto)"
Svc->>Store : "写入文件"
Store-->>Svc : "返回访问路径"
Svc-->>Ctrl : "访问路径"
Ctrl-->>Client : "CommonResult"
```
图表来源
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L57-L59)
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L10-L25)
- [FileController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/file/FileController.java)
章节来源
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L1-L74)
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L1-L26)
### WebSocket消息推送API
- 接口目标:向指定用户或Session发送消息
- 关键字段:sessionId、userId、userType、messageType、messageContent
- 便捷方法:sendObject支持对象自动序列化为JSON
```mermaid
sequenceDiagram
participant Caller as "调用方"
participant WSAPI as "WebSocketSenderApi"
participant Ctrl as "WebSocketController"
participant Sender as "WebSocketMessageSender"
participant Client as "客户端"
Caller->>WSAPI : "POST /infra/v1/websocket/send"
WSAPI->>Ctrl : "send(WebSocketSendReqDTO)"
Ctrl->>Sender : "sendMessage(dto)"
Sender-->>Client : "推送消息"
Sender-->>Ctrl : "发送结果"
Ctrl-->>Caller : "CommonResult"
```
图表来源
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java#L21-L23)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L10-L26)
章节来源
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java#L1-L75)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L1-L27)
### 系统配置管理API
- 接口目标:按Key查询配置值
- 场景:动态配置下发、开关控制
```mermaid
sequenceDiagram
participant Client as "客户端"
participant API as "ConfigApi"
participant Ctrl as "ConfigController"
participant Svc as "ConfigService"
Client->>API : "GET /infra/v1/config/get-value-by-key?key=..."
API->>Ctrl : "getConfigValueByKey(key)"
Ctrl->>Svc : "查询配置"
Svc-->>Ctrl : "配置值"
Ctrl-->>Client : "CommonResult"
```
图表来源
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L17-L19)
- [ConfigController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/config/ConfigController.java)
章节来源
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L1-L22)
- [ConfigTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/config/ConfigTypeEnum.java#L1-L22)
### 代码生成API
- 接口目标:基于数据库表结构生成前后端代码
- 模板类型:单表、树表、主子表(普通/ERP/内嵌)、子表
- 使用建议:先选择模板类型,再配置表与列信息,最后生成与预览
```mermaid
flowchart TD
Start(["开始"]) --> ChooseTpl["选择模板类型
CodegenTemplateTypeEnum"]
ChooseTpl --> Configure["配置表与列信息"]
Configure --> Generate["生成代码"]
Generate --> Preview["预览结果"]
Preview --> Download["下载产物"]
Download --> End(["结束"])
```
图表来源
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java#L14-L53)
- [CodegenController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/codegen/CodegenController.java)
章节来源
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java#L1-L54)
- [CodegenController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/codegen/CodegenController.java)
### 日志管理API
- 访问日志:分页查询API访问记录
- 错误日志:分页查询API错误记录与处理状态
```mermaid
sequenceDiagram
participant Admin as "管理员"
participant AccessCtrl as "ApiAccessLogController"
participant ErrorCtrl as "ApiErrorLogController"
participant Svc as "日志服务"
Admin->>AccessCtrl : "分页查询访问日志"
AccessCtrl->>Svc : "查询访问日志"
Svc-->>AccessCtrl : "分页结果"
AccessCtrl-->>Admin : "CommonResult"
Admin->>ErrorCtrl : "分页查询错误日志"
ErrorCtrl->>Svc : "查询错误日志"
Svc-->>ErrorCtrl : "分页结果"
ErrorCtrl-->>Admin : "CommonResult"
```
图表来源
- [ApiAccessLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiAccessLogController.java)
- [ApiErrorLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiErrorLogController.java)
章节来源
- [ApiAccessLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiAccessLogController.java)
- [ApiErrorLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiErrorLogController.java)
### 基础设施监控API
- Redis监控:获取Redis运行指标(如内存、连接数等)
```mermaid
sequenceDiagram
participant Ops as "运维人员"
participant RedisCtrl as "RedisController"
participant Redis as "Redis实例"
Ops->>RedisCtrl : "查询Redis监控指标"
RedisCtrl->>Redis : "INFO/STATS"
Redis-->>RedisCtrl : "指标数据"
RedisCtrl-->>Ops : "CommonResult"
```
图表来源
- [RedisController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/redis/RedisController.java)
章节来源
- [RedisController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/redis/RedisController.java)
## 依赖关系分析
- 统一前缀:所有接口均以 /infra/v1 前缀开头,便于网关路由与权限控制
- 服务名:infra-server,确保Feign调用正确路由
- DTO约束:请求参数通过注解进行非空与格式校验
- 枚举约束:模板类型与配置类型统一管理,避免魔法值
```mermaid
graph LR
AC["ApiConstants"] --> FA["FileApi"]
AC --> WSA["WebSocketSenderApi"]
AC --> CA["ConfigApi"]
FA --> FCR["FileCreateReqDTO"]
WSA --> WSR["WebSocketSendReqDTO"]
CC["ConfigController"] --> CTY["ConfigTypeEnum"]
CGC["CodegenController"] --> CTT["CodegenTemplateTypeEnum"]
```
图表来源
- [ApiConstants.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/ApiConstants.java#L17-L21)
- [FileApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/FileApi.java#L16-L17)
- [WebSocketSenderApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/WebSocketSenderApi.java#L15-L16)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L11-L12)
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L10-L25)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L10-L26)
- [ConfigTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/config/ConfigTypeEnum.java#L8-L21)
- [CodegenTemplateTypeEnum.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/codegen/CodegenTemplateTypeEnum.java#L14-L53)
章节来源
- [ApiConstants.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/enums/ApiConstants.java#L1-L23)
## 性能考量
- 文件上传:建议对大文件采用分片上传与断点续传策略;预签名URL缩短直传路径
- WebSocket:合理设置心跳与重连策略,避免长连接占用资源
- 日志查询:分页查询与索引优化,避免全表扫描
- Redis监控:定期采样关键指标,避免频繁高开销命令
## 故障排查指南
- 文件上传失败
- 检查content是否为空、MIME类型是否正确
- 查看存储服务可用性与权限
- 预签名URL失效
- 校验url与过期时间参数
- 确认存储服务签名算法与有效期配置
- WebSocket消息未达
- 校验sessionId或userId/userType是否有效
- 检查消息类型与内容格式
- 配置查询为空
- 确认key是否存在且未被删除
- 检查配置类型与作用域
- 日志查询无数据
- 校验查询条件与时间范围
- 确认日志采集与落库流程正常
章节来源
- [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L22-L23)
- [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L20-L24)
- [ConfigApi.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/config/ConfigApi.java#L17-L19)
## 结论
基础设施模块通过统一的API前缀与服务名,提供了文件管理、WebSocket推送、配置查询、代码生成、日志与监控等核心能力。建议在生产环境中结合分片上传、预签名URL、心跳监控与分页查询等最佳实践,确保系统的稳定性与可维护性。
## 附录
- 使用示例(路径指引)
- 文件上传:POST /infra/v1/file/create,请求体参考 [FileCreateReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/file/dto/FileCreateReqDTO.java#L10-L25)
- 预签名URL:GET /infra/v1/file/presigned-url?url=...&expirationSeconds=...
- WebSocket发送:POST /infra/v1/websocket/send,请求体参考 [WebSocketSendReqDTO.java](file://viewsh-module-infra/viewsh-module-infra-api/src/main/java/com/viewsh/module/infra/api/websocket/dto/WebSocketSendReqDTO.java#L10-L26)
- 配置查询:GET /infra/v1/config/get-value-by-key?key=...
- 代码生成:参考 [CodegenController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/codegen/CodegenController.java)
- 日志查询:访问 [ApiAccessLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiAccessLogController.java) 与 [ApiErrorLogController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/logger/ApiErrorLogController.java)
- Redis监控:参考 [RedisController.java](file://viewsh-module-infra/viewsh-module-infra-server/src/main/java/com/viewsh/module/infra/controller/admin/redis/RedisController.java)