feat: [阶段1] 项目初始化和基础设置
- 创建 Cargo.toml 配置文件,包含所有必要依赖 - 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils) - 实现用户数据模型和内存存储 - 创建基础的 HTTP 处理器和路由配置 - 添加错误处理和 JWT 认证中间件 - 配置环境变量和日志系统 - 创建项目文档和学习指南 - 服务器可以成功编译和启动
This commit is contained in:
35
src/main.rs
Normal file
35
src/main.rs
Normal 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();
|
||||
}
|
Reference in New Issue
Block a user