HwhKit 🚀
一个用于快速构建 Web 服务的 Rust 工具库,支持前后端分离和不分离两种架构。
✨ 特性
- 🚀 一键构建 - 通过简单的构建器模式快速创建 Web 服务
- 🏗️ 双架构支持 - 支持前后端分离(API)和不分离(全栈)两种架构
- ⚙️ 配置驱动 - 基于 TOML 配置文件的中间件装载机制
- 🔧 丰富中间件 - 内置 CORS、JWT、静态文件、模板渲染等中间件
- ⚡ 高性能 - 基于 Axum 和 Tokio 构建,性能卓越
- 🎨 模板支持 - 内置 Tera 模板引擎支持(可选)
- 📝 类型安全 - 完全的 Rust 类型安全保障
🛠️ 安装
将以下内容添加到你的 Cargo.toml:
[]
= "0.1.0"
= { = "1.0", = ["full"] }
# 可选特性
= { = "0.1.0", = ["templates", "jwt"] }
可用特性
templates- 启用 Tera 模板引擎支持jwt- 启用 JWT 认证支持full- 启用所有特性
📚 快速开始
前后端分离架构(API 模式)
use ;
async
async
前后端不分离架构(全栈模式)
use ;
async
async
使用配置文件
创建 config.toml:
[]
= "0.0.0.0"
= 3000
= "api"
[]
= true
= ["*"]
= ["GET", "POST", "PUT", "DELETE"]
= ["Content-Type", "Authorization"]
[]
= true
= "your-secret-key"
= 3600
[]
= true
= "public"
= "/static"
[]
= "info"
= true
然后在代码中使用:
use WebServerBuilder;
async
🎯 架构类型
API 架构(前后端分离)
适用于构建 RESTful API 服务:
- ✅ CORS 支持
- ✅ JSON 响应
- ✅ JWT 认证
- ✅ 静态文件服务
- ❌ 模板渲染
Full 架构(前后端不分离)
适用于构建传统的全栈 Web 应用:
- ✅ 模板渲染
- ✅ 静态文件服务
- ✅ 表单处理
- ✅ 会话管理
- ⚠️ CORS(通常不需要)
🔧 中间件配置
CORS
[]
= true
= ["http://localhost:3000", "https://yourdomain.com"]
= ["GET", "POST", "PUT", "DELETE"]
= ["Content-Type", "Authorization"]
JWT 认证
[]
= true
= "your-super-secure-secret-key"
= 3600 # 1小时
静态文件
[]
= true
= "public" # 静态文件目录
= "/static" # URL 前缀
模板引擎
[]
= true
= "templates" # 模板文件目录
= "html" # 模板文件扩展名
日志
[]
= "info" # trace, debug, info, warn, error
= true # 启用请求日志
📖 示例
查看 examples/ 目录获取完整示例:
api-server.rs- 前后端分离架构示例full-server.rs- 前后端不分离架构示例
运行示例:
# API 服务器示例
# 全栈服务器示例
🧪 测试
运行所有测试:
运行特定特性的测试:
📋 路线图
- 基本 Web 服务器构建
- 配置文件支持
- CORS 中间件
- 静态文件服务
- 基础模板支持
- JWT 认证框架
- 数据库集成
- WebSocket 支持
- 请求限流
- 缓存中间件
- 监控和指标
- 热重载开发模式
🤝 贡献
欢迎贡献代码!请查看 CONTRIBUTING.md 了解详细信息。
开发环境设置
# 克隆仓库
# 安装依赖
# 运行测试
# 运行示例
📄 许可证
本项目使用 MIT 或 Apache-2.0 许可证。
🙋 支持
🌟 致谢
感谢以下项目为 HwhKit 提供了灵感和基础: