【发布时间】:2016-02-22 09:12:17
【问题描述】:
我正在使用 akka 流,并且我需要有条件地跳过图表的一部分,因为流无法处理某些值。具体来说,我有一个接受字符串并发出 http 请求的流程,但是当字符串为空时服务器无法处理这种情况。但我只需要返回一个空字符串。有没有一种方法可以做到这一点,而不必通过 http 请求就知道它会失败?我基本上有这个:
val source = Source("1", "2", "", "3", "4")
val httpRequest: Flow[String, HttpRequest, _]
val httpResponse: Flow[HttpResponse, String, _]
val flow = source.via(httpRequest).via(httpResponse)
我唯一能想到的就是在我的 httpResponse 流中捕获 400 错误并返回一个默认值。但我希望能够避免因事先知道会失败的请求而访问服务器的开销。
【问题讨论】:
-
您的示例无法编译。 httpRequest 的输出是 HttpRequest 类型,httpResponse 的输入是 HttpResponse 类型,因此它们不能与“via”链接在一起。
标签: akka akka-stream akka-http