feat: [阶段1] 项目初始化和基础设置

- 创建 Cargo.toml 配置文件,包含所有必要依赖
- 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils)
- 实现用户数据模型和内存存储
- 创建基础的 HTTP 处理器和路由配置
- 添加错误处理和 JWT 认证中间件
- 配置环境变量和日志系统
- 创建项目文档和学习指南
- 服务器可以成功编译和启动
This commit is contained in:
2025-08-04 16:49:50 +08:00
commit 28afc7532f
24 changed files with 2170 additions and 0 deletions

35
src/main.rs Normal file
View File

@@ -0,0 +1,35 @@
//! Rust User API 服务器主程序
use std::net::SocketAddr;
use tracing_subscriber;
use rust_user_api::{
config::Config,
routes::create_routes,
storage::memory::MemoryUserStore,
};
#[tokio::main]
async fn main() {
// 初始化日志
tracing_subscriber::fmt::init();
// 加载配置
let config = Config::from_env();
// 创建存储实例
let store = MemoryUserStore::new();
// 创建路由
let app = create_routes(store);
// 启动服务器
let addr: SocketAddr = config.server_address().parse()
.expect("无效的服务器地址");
println!("🚀 服务器启动在 http://{}", addr);
println!("📚 API 文档: http://{}/", addr);
println!("❤️ 健康检查: http://{}/health", addr);
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
axum::serve(listener, app).await.unwrap();
}