我正在尝试使用一个简单的中间件与ActixWeb 4:
HttpServer::new(
move || {
let app_state = AppState {
db_helper: external_db.clone(),
client: Client::new(),
};
App::new()
.wrap_fn(|req, srv| {
let header = req.headers().get("Test").unwrap().to_str().unwrap().to_owned();
let fut = srv.call(req);
async move {
let res = fut.await?;
println!("{:#?}", header);
Ok(res)
}
})
.app_data(web::Data::new(app_state))
.service(web::scope(API_PATH)
.service(user_controller::user_scope())
)
})
.bind(SERVER_URL)?
.run();
这是他们教程中的一个非常简单的示例。但是,我总是得到一个错误:
let fut = srv.call(req);
^^^^ method cannot be called on `&actix_web::app_service::AppRouting` due to unsatisfied trait bounds
我该如何解决这个问题?
1条答案
按热度按时间v6ylcynt1#
您需要将该特征引入范围,