Closed stevensu1977 closed 4 weeks ago
let router = Router::new() .get(hello) .push(Router::with_path("api") .push(Router::with_path("user").get(get_user)) .push(Router::with_path("user_default").get( get_default_user)) .push(Router::with_path("user_default_string").get( get_default_user_string)) .push(Router::with_path("ip").get(get_ip)) .push(Router::with_path("rss/").get(get_rss)) ).hoop(Logger::new());
let servic = Service::new(router).catcher(Catcher::default().hoop(handler::handle404));
......
pub async fn handle404(res: &mut Response, ctrl: &mut FlowCtrl) { println!("{:?}",res.status_code); if let Some(StatusCode::NOT_FOUND) = res.status_code { res.render("Custom 404 Error Page"); ctrl.skip_rest(); } }
如果没有 handler 写入状态为 404, 那状态为 None, 你可以把 None 当成 404 处理。
let router = Router::new() .get(hello) .push(Router::with_path("api") .push(Router::with_path("user").get(get_user)) .push(Router::with_path("user_default").get( get_default_user)) .push(Router::with_path("user_default_string").get( get_default_user_string)) .push(Router::with_path("ip").get(get_ip)) .push(Router::with_path("rss/").get(get_rss))
).hoop(Logger::new());
let servic = Service::new(router).catcher(Catcher::default().hoop(handler::handle404));
......
[handler]
pub async fn handle404(res: &mut Response, ctrl: &mut FlowCtrl) { println!("{:?}",res.status_code); if let Some(StatusCode::NOT_FOUND) = res.status_code { res.render("Custom 404 Error Page"); ctrl.skip_rest(); } }