静态资源

878035
2021/12/09 05:20:40

0.2 版本

使用 axum::service::get,比如:

use axum::service;

let app = Router::new()
    .nest("/static", service::get(ServeDir::new("static")).handle_error(|err| {
        Ok::<_, Infallible>((
            StatusCode::INTERNAL_SERVER_ERROR,
            format!("载入静态资源出错:{}", err),
        ))
    }));

0.3 版本

使用 axum::routing::service_method_routing,比如:

use axum::routing::service_method_routing as service;

let app = Router::new()
    .nest(
        "/static",
        service::get(ServeDir::new("static")).handle_error(|err| {
            (
                StatusCode::INTERNAL_SERVER_ERROR,
                format!("处理静态资源出错:{:?}", err),
            )
        }),
    );

0.4 版本

use axum::routing::get_service;

let app = Router::new()
        .nest(
            "/static",
            get_service(ServeDir::new("static")).handle_error(|err| async move {
                (
                    StatusCode::INTERNAL_SERVER_ERROR,
                    format!("处理静态资源出错:{:?}", err),
                )
            }),
        );

注意此版本闭包的写法