
API路由模块
大约 2 分钟
这个文件是整个应用程序的核心路由管理模块,负责统一管理和组织所有的API接口路由。
文件位置:mod.rs
模块结构
子模块组织
sys_controll
: 系统控制相关的路由模块web_path
: Web路径管理工具模块
核心组件
WebApi结构体
这是路由管理的主要入口点,提供静态方法来构建和管理应用程序的所有路由。
主要功能
1. 主路由构建 - routers()
负责构建应用程序的主要路由集合:
路由收集过程:
- 创建WebPath实例进行路径管理
- 合并系统控制模块的路由
- 将路径结构转换为最终的路由配置
动态API更新机制:
- 异步调用InvokeFunctionWorker执行"updateapi"任务
- 将最新的路由结构信息传递给后台工作进程
- 实现路由的动态更新和同步
路由注册流程:
- 遍历所有收集到的路径配置
- 为每个有效的路径注册对应的HTTP方法路由
- 构建完整的Axum Router实例
2. 白名单路由 - white_routers()
专门用于管理不需要认证或特殊权限的公开路由:
- 主要包含系统控制模块的白名单路由
- 用于处理登录、健康检查等公开接口
设计特点
模块化架构
- 采用子模块分离的方式组织不同功能的路由
- 便于维护和扩展新的API模块
动态路由管理
- 集成了动态API更新机制
- 支持运行时路由信息的同步和更新
安全分层
- 明确区分需要认证的路由和公开路由
- 提供灵活的权限控制基础
异步处理
- 路由更新操作采用异步执行
- 避免阻塞主要的路由构建流程
扩展指南
添加新的API模块
- 在api目录下创建新的子模块
- 在mod.rs中声明新模块
- 在routers()方法中合并新模块的路由
- 根据需要在white_routers()中添加公开路由
路由组织最佳实践
- 按业务功能划分子模块
- 保持路由路径的一致性和规范性
- 合理利用白名单机制处理公开接口
这个路由管理模块为整个应用程序提供了统一、灵活且可扩展的API路由管理能力,是Web服务架构的核心组成部分。