# Rust Webapi Practice **Repository Path**: loogn/rust-webapi-practice ## Basic Information - **Project Name**: Rust Webapi Practice - **Description**: rust webapi 实战项目,包含配置、日志、验证中间件、sea-orm、scheduler等功能的集成 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-10 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Rust WebAPI 实战项目 这是一个使用 Rust 语言和 Actix-web 框架构建的现代化 Web API 项目,旨在探索 Rust 语言在 Web 开发领域的最佳实践。项目集成了丰富的功能组件,包括用户认证、数据库管理、缓存、日志追踪等,适合作为 Rust Web 开发的学习参考或企业级应用的基础框架。 ## 目录结构 ``` lucky-admin/src/ ├── bin/ # 二进制文件 ├── component/ # 核心组件 ├── model/ # 数据模型 ├── services/ # 业务逻辑 ├── utils/ # 工具函数 ├── config.rs # 配置管理 ├── lib.rs # 库入口 ├── main.rs # 应用入口 ├── prelude.rs # 公共导出 ├── routes.rs # 路由定义 └── startup.rs # 启动配置 ``` ## 技术栈 - **Web 框架**: Actix-web - **ORM 框架**: SeaORM - **数据库**: PostgreSQL - **缓存**: Redis - **API 文档**: Utoipa + RapiDoc/Swagger UI - **日志**: Tracing - **验证**: Validator - **序列化**: Serde - **配置**: YAML - **日期时间**: Chrono - **派生宏**: My-derives (自定义) ## 核心功能 - **用户认证与授权** - JWT (JSON Web Token) 认证 - 登录错误次数限制与锁定机制 - 密码有效期管理 - TOTP 双因素认证支持 - **数据库集成** - PostgreSQL 数据库支持 - SeaORM ORM 框架 - SQLx 原生查询支持 - 数据库连接池管理 - **缓存系统** - Redis 缓存集成 - 连接池管理 - 高效的数据缓存策略 - **API 功能** - 用户管理 - 角色与权限控制 - 组织架构管理 - 字典管理 - 文件上传功能 - 验证码生成与验证 - **系统组件** - 自定义错误处理机制 - 统一响应格式 - 日志追踪系统 (tracing) - API 文档 (Swagger UI) - 配置管理 (YAML) - 定时任务调度 - IP 地区查询功能