【问题标题】:Is there a way to source stream from query parameters with akka-http?有没有办法使用 akka-http 从查询参数中获取流?
【发布时间】:2019-06-22 05:50:48
【问题描述】:

我知道如何通过 POST 请求从实体获取流,但我还希望能够从 GET 请求的查询参数创建源流。

我知道我可以通过 as[] 指令获取案例类的查询参数,但似乎必须将其包装在源中以便对其进行源流处理。

【问题讨论】:

    标签: akka-stream akka-http


    【解决方案1】:

    作为URL 一部分的查询参数不是从客户端“流式传输”的,而是来自they are part of the request line。因此,当您的内存中有一个HttpRequest 对象时,您已经消耗了足够的空间来保存查询参数。这意味着您将失去使用Source 的任何背压优势。我建议首先分析为什么要创建 Source...

    如果您绝对必须从参数中创建一个 Source,那么您可以使用 parameterSeq Directive:

    val route = 
      parameterSeq { params : Seq[(String, String)] =>
    
        val parameterSource : Source[(String, String), _] = Source(params)
    
      }
    

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 2014-05-30
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多