Exum
一个轻量级的 Axum 语法糖库,提供更简洁的路由定义语法。
特性
核心功能
- 🚀 简洁的路由宏语法
- 📦 自动参数提取和类型转换
- 🔧 支持多种HTTP方法
- 🎯 路径参数自动解析
- 📝 查询参数和请求体处理
- ⚡ 省略返回值时默认返回
impl IntoResponse - 🛠️ 快速响应构建器 - 便捷的HTTP响应构建函数
- 📁 静态文件服务 - 支持SPA回退和URL编码路径
配置管理
- 🌍 环境自动检测和配置覆盖
- 🔧 环境变量注入支持
- 📁 多环境配置文件管理
高级功能
- 🔗 链式调用支持(AppChainExt)
- 💉 依赖注入支持(状态管理和自动注入)
- ⚠️ Controller 宏(支持分组路径前缀,使用前必须阅读文档!)
安装
在 Cargo.toml 中添加依赖:
[]
= "0.1.0"
快速开始
use *;
async
async
// 使用 #[main] 宏自动处理应用初始化和配置加载
async
// 或者使用传统方式手动初始化
// #[tokio::main]
// async fn main() {
// let app = Application::build(ApplicationConfig::default());
// app.run().await;
// }
文档
详细的文档请参考以下章节:
- 📖 快速开始 - 安装和基础使用
- 🛣️ 路由宏 - 路由定义和URL编码路径支持
- 📋 参数提取 - 查询参数和请求体处理
- ⚙️ 配置管理 - 环境配置和配置文件
- 📁 静态文件服务 - 静态文件服务和SPA回退
- 🛠️ 快速响应构建器 - 便捷的HTTP响应构建函数
- 🚀 高级功能 - CORS支持、链式调用等
- 🎯 #[main] 宏 - 自动应用初始化和配置管理
- 💉 依赖注入 - 状态管理和自动依赖注入
- ⚠️ Controller 宏 - 高级特性,使用前必须阅读文档!
Features
deref-app: 为Application实现Dereftrait,可以直接访问底层的Routerapp_chain_ext: 为Application提供链式调用方法,支持更灵活的路由配置app_chain_ext_full: 包含app_chain_ext和静态文件服务功能layers: 获得一些Service, Layer以及fast_builder(如StaticFileServiceBuilder)full: 包含所有特性
许可证
MIT License