Rust 新建一个web 服务器

use axum::{
    routing::post,
    Router,
    Json,
    http::StatusCode,
    response::IntoResponse,
};
use serde::Deserialize;
use std::net::SocketAddr;

#[derive(Debug, Deserialize)]
struct InputData {
    mac: String,
    ip: String,
    active_times: String
}

// 处理函数:从请求中提取 JSON 并打印
async fn test_handler(Json(payload): Json) -> impl IntoResponse {
    // 打印到控制台
    println!("Got request body: {:?}", payload);
    // 返回简单的文本作为响应
    (StatusCode::OK, "Request received.")
}

#[tokio::main]
async fn main() {
    // 创建路由:POST /test
    let app = Router::new().route("/test", post(test_handler).delete(test_handler));

    // 监听地址
    let addr = SocketAddr::from(([0, 0, 0, 0], 5003));
    println!("Listening on {}", addr);

    // 启动服务器
    axum::Server::bind(&addr)
        .serve(app.into_make_service())
        .await
        .unwrap();
}

你可能感兴趣的:(rust)