一、準備階段
確保已經安裝 rust,開發環境使用 vscode 或者 rustrover 都可以。接著就可以創建項目,通過編輯器創建或者命令行創建都可以:
cargo new axum-admin
二、添加依賴
添加依賴如下:
[package]
name = "axum-admin"
version = "0.1.0"
edition = "2024"[dependencies]
axum = "0.8.4"
tokio = { version = "1.47.1", features = ["full"] }
serde = { version = "1.0.219", features = ["derive"] }
tracing-subscriber = "0.3.19"
三、體驗案例
體驗代碼:
use axum::{routing::{get, post},http::StatusCode,Json, Router,
};
use serde::{Deserialize, Serialize};#[tokio::main]
async fn main() {tracing_subscriber::fmt::init();let app = Router::new().route("/", get(root)).route("/users", post(create_user));let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();axum::serve(listener, app).await.unwrap();
}async fn root() -> &'static str {"Hello, World!"
}async fn create_user(Json(payload): Json<CreateUser>,
) -> (StatusCode, Json<User>) {let user = User {id: 1337,username: payload.username,};(StatusCode::CREATED, Json(user))
}#[derive(Deserialize)]
struct CreateUser {username: String,
}#[derive(Serialize)]
struct User {id: u64,username: String,
}
項目啟動后,在同級目錄創建 http 目錄,創建 test.http 文件:
### GET 默認
GET http://localhost:3000### POST 創建用戶
POST http://localhost:3000/users
Content-Type: application/json{"username": "Tom"
}
四、總結
整體體驗下來,還不錯!下一篇會在此基礎上,增加對返回結果的封裝。