在 FromRequest 实现中获取应用状态
Get the app state in FromRequest implementation
我有一个 actix 网络服务器,我想在 FromRequest
实现中获取我的服务器的状态。
我试过类似的东西:
impl FromRequest for User {
type Config = ();
type Error = Error;
type Future = Pin<Box<dyn Future<Output = Result<User, actix_web::Error>>>>;
fn from_request(req: &HttpRequest, pl: &mut Payload, state: web::Data<State>) -> Self::Future {
...
}
}
当然,这行不通,因为 from_request
只要求 2 个参数,而不是 3 个。
你可以这样做:
fn from_request(req: &HttpRequest, pl: &mut Payload) -> Self::Future {
let _state = req.app_data::<Data<State>>();
....
}
查看 app_data
的文档
我有一个 actix 网络服务器,我想在 FromRequest
实现中获取我的服务器的状态。
我试过类似的东西:
impl FromRequest for User {
type Config = ();
type Error = Error;
type Future = Pin<Box<dyn Future<Output = Result<User, actix_web::Error>>>>;
fn from_request(req: &HttpRequest, pl: &mut Payload, state: web::Data<State>) -> Self::Future {
...
}
}
当然,这行不通,因为 from_request
只要求 2 个参数,而不是 3 个。
你可以这样做:
fn from_request(req: &HttpRequest, pl: &mut Payload) -> Self::Future {
let _state = req.app_data::<Data<State>>();
....
}
查看 app_data
的文档