- 创建 Cargo.toml 配置文件,包含所有必要依赖 - 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils) - 实现用户数据模型和内存存储 - 创建基础的 HTTP 处理器和路由配置 - 添加错误处理和 JWT 认证中间件 - 配置环境变量和日志系统 - 创建项目文档和学习指南 - 服务器可以成功编译和启动
31 lines
800 B
Rust
31 lines
800 B
Rust
//! 路由配置模块
|
|
|
|
use axum::{
|
|
Router,
|
|
routing::{get, post, put, delete},
|
|
};
|
|
use crate::handlers;
|
|
use crate::storage::memory::MemoryUserStore;
|
|
|
|
/// 创建应用路由
|
|
pub fn create_routes(store: MemoryUserStore) -> Router {
|
|
Router::new()
|
|
.route("/", get(handlers::root))
|
|
.route("/health", get(handlers::health_check))
|
|
.nest("/api", api_routes())
|
|
.with_state(store)
|
|
}
|
|
|
|
/// API 路由
|
|
fn api_routes() -> Router<MemoryUserStore> {
|
|
Router::new()
|
|
.route("/users",
|
|
get(handlers::user::list_users)
|
|
.post(handlers::user::create_user)
|
|
)
|
|
.route("/users/:id",
|
|
get(handlers::user::get_user)
|
|
.put(handlers::user::update_user)
|
|
.delete(handlers::user::delete_user)
|
|
)
|
|
} |