在这个环节里, 你不需要在路由上动手脚。在http路由指向的方法当中传一个参数, 类型为axum::http::HeaderMap
当需要获取指定的请求头字段时, 假设你传进来的HeaderMap参数的名字叫some_headers, 则使用
some_headers.get("字段名")
的方式来获取。cookie的话可以通过以下方式获取
some_headers.get("cookie")
demo代码如下:
use axum::{response::Html, http::HeaderMap, response::IntoResponse}; pub async fn handler() -> Html<&'static str> { // 默认页 Html("<h2>Service Unavailable.</h2>") } pub async fn test(headers:HeaderMap) -> impl IntoResponse { // 获取请求头单个的User-Agent字段 println!("User-Agent: {:?}", headers.get("user-agent")); // 打印全部字段 for (key, value) in headers.iter() { println!("{:?}: {:?}", key, value); } // headers.insert("x-my-hdr", "abc".parse().unwrap()); // (headers, "It works!") }