当前位置: 首页 > news >正文

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

一、准备阶段

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

四、总结

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

http://www.dtcms.com/a/330875.html

相关文章:

  • Java面试宝典:JVM性能优化
  • 【代码随想录day 20】 力扣 669. 修剪二叉搜索树
  • MySQL 性能优化实战指南:释放数据库潜能的艺术
  • 【visual studio】visual studio配置环境opencv和onnxruntime
  • 零知开源——基于STM32F4的HC-12无线通信系统及ST7789显示应用
  • 【Linux】库制作与原理
  • mysql卸载了 服务内还显示如何解决
  • CVPR 2025丨时间序列:动态多尺度机制登场,即插即用,预测稳准狠刷新SOTA
  • Vivado GPIO详解
  • 量化因子RSI
  • 中小型泵站物联网智能控制系统解决方案:构建无人值守的自动化泵站体系
  • 基于STM32单片机智能手表GSM短信上报GPS定位温湿度检测记步设计
  • OS设备UDID查看方法
  • Mybatis学习笔记(一)
  • 「iOS」————设计架构
  • 在语音通信业务量下降时候该怎么做
  • PHP现代化全栈开发:微服务架构与云原生实践
  • 基于FPGA的8PSK+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR
  • 一台联想 ThinkCentre M7100z一体机开机黑屏无显示维修记录
  • 优化 SQL 查询:选出每个分组最大值的行并插入 10W 条测试数据
  • 云计算-Docker Compose 实战:从OwnCloud、WordPress、SkyWalking、Redis ,Rabbitmq等服务配置实例轻松搞定
  • 【代码随想录day 20】 力扣 108.将有序数组转换为二叉搜索树
  • 老生常谈之引用计数:《More Effective C++》条款29
  • 炎热的夏天
  • SQL181 第二快/慢用时之差大于试卷时长一半的试卷
  • 掌握MATLAB三维可视化:从基础到实战技巧
  • Redis 从入门到生产:数据结构、持久化、集群、工程实践与避坑(含 Node.js/Python 示例)
  • jenkins在windows配置sshpass
  • 构建Node.js单可执行应用(SEA)的方法
  • 【前端工具】使用 Node.js 脚本实现项目打包后自动压缩