Axum 路由入门
Router、handler 与启动服务
本节你将能
用 Axum 定义路由并启动一个 Hello HTTP 服务。
直觉模型
Router 是前台分诊台:按方法与路径把请求交给 handler;handler 是异步函数,返回可转成响应的类型。
核心要点
Router::new().route("/" , get(handler))axum::serve+TcpListener监听端口- 依赖:
axum、tokio(features = full 或按需)
use axum::{routing::get, Router};
async fn hello() -> &'static str { "ok" }
#[tokio::main]
async fn main() {
let app = Router::new().route("/", get(hello));
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
axum::serve(listener, app).await.unwrap();
}
常见误区
handler 签名与提取器不匹配时,错误信息较长——逐个核对参数类型。
动手
增加 GET /health 返回 JSON {"status":"up"}。
互动
测验:Axum 与 Tokio 的关系。
本节小结
下一节用提取器读路径/JSON,并用中间件横切日志与鉴权。