akka-stream - 有没有办法使用 akka-http 从查询参数中获取流?
问题描述
我知道如何通过 POST 请求从实体获取流,但我还希望能够从 GET 请求的查询参数创建源流。
我知道我可以通过 as[] 指令将查询参数获取到案例类,但似乎必须将其包装在源中以便对其进行源流处理。
解决方案
作为URL一部分的查询参数不是从客户端“流式传输”的,而是请求行的一部分。因此,当您HttpRequest
的内存中有一个对象时,您已经消耗了足够的空间来保存查询参数。这意味着您将失去使用Source
. 我建议首先分析为什么要创建 Source ......
如果您绝对必须从参数中创建一个 Source ,那么您可以使用parameterSeq
Directive:
val route =
parameterSeq { params : Seq[(String, String)] =>
val parameterSource : Source[(String, String), _] = Source(params)
}
推荐阅读
- coq - Coq:活页夹下的参数重写
- codeigniter - 使用 Codeigniter 中的 render_page 在 URL 中传递参数
- node.js - Async/Await Promise 实现执行单个 S3 PutObject 调用两次 - 为什么?
- arrays - 通过 sed 将文本附加到脚本中
- java - 在 GET 方法中发送请求正文不起作用
- python - 使用 sum 方法得到 1 到 1000 之间奇数的平方和
- javascript - 如何在 D3.js 的图表下添加“源”标题和小徽标图像?
- google-sheets - 在 Google 表格中查找单词并关联到某个值
- python-3.x - 用子类的类型初始化父类中的对象
- excel - Excel不会将列组合成一个列表