【问题标题】:What is the role of a "Extension" in actix-web?actix-web 中“扩展”的作用是什么?
【发布时间】:2021-09-01 03:16:11
【问题描述】:

我试图弄清楚Extensions 是如何在actix-web Rust 库中创建的。我想我错过了请求扩展的概念。请求扩展有什么作用?它们与 HTTP 标头有何不同?

【问题讨论】:

    标签: rust actix-web


    【解决方案1】:

    扩展用于存储请求本地数据。它们与应用程序数据不同,因为它特定于单个请求。并且与标头不同,因为它们是在服务器中设置的,而不是由客户端设置的。

    这主要用于在中间件和处理程序之间传递数据;如身份验证或路由前缀处理。它们可以通过req.extensions_mut().insert(...) 在中间件中设置,并且可以通过req.extensions().get<...>()ReqData 提取器在处理程序中检索。

    见:How can I pass structs from an Actix middleware to the handler?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 2016-10-28
      • 2012-02-19
      • 2017-01-19
      • 1970-01-01
      相关资源
      最近更新 更多