actix-web - 在 FromRequest 实现中获取应用状态
问题描述
我有一个 actix Web 服务器,我想在一个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的文档
推荐阅读
- javascript - 如何从嵌套的 JSON 有效负载 (JavaScript) 中删除特定元素?
- java - Android 移动导航 - 未生成 NavController Action 类
- reactjs - 如何使用该 API?反应抓取
- tmux - 是否可以使用 vim 键绑定从 PuTTY 上的 tmux 将文本复制到我的 Windows 10 剪贴板?
- r - 具有多个虚拟变量的饼图
- graphql - Gatsby Remark 插件:创建的节点对 GraphIQL 可见,但在 Gatsby 页面上的查询返回 null
- javascript - Ajax 服务器端 proc 以 Invalid JSON response 结束
- selenium - Selenium (chromedriver) 在本地机器上工作,但不在 Ubuntu 服务器上
- python - Tensorflow Keras 从回调中修改模型变量
- c# - 将对象转换为类时,未包含在对象中的变量会发生什么情况?