在這個環節裡, 你不需要在路由上動手腳。在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!") }