Rust Web框架Axum学习指南之入门初体验

发布于:2025-08-15 ⋅ 阅读:(14) ⋅ 点赞:(0)

一、准备阶段

确保已经安装 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"
}

四、总结

整体体验下来,还不错!下一篇会在此基础上,增加对返回结果的封装。


网站公告

今日签到

点亮在社区的每一天
去签到