问题标签 [akka-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
640 浏览

html - Web 浏览器查看分块的 http 实体数据流

基于此问题中描述的技术,我编写了一个基本的微服务,以使用akka-http. 相关的scala代码是:

客户端发出单个 http 请求,单个响应的实体是 ByteString 的分块流,即每 1 秒“测试”一次。

我使用 scala 客户端验证了流产生“测试”值。但是,一种非常方便的调试方法是将 Web 浏览器指向微服务以在数据进入时查看 Chunk 流。我尝试将我的 chrome 浏览器指向端口,但浏览器只是挂在加载/忙碌状态。

所以,我的问题是:如何修改 HttpResponse 以便浏览器可以实时显示流?

需要一个不同的 HttpResponse 实体用于浏览器查看而不是软件客户端消费的解决方案很好(例如,如果“/stream”地址为客户端提供了一个 HttpResponse,而“/browserView”提供了一个不同的 HttpResponse,那么这是一个可以接受的答案)。

0 投票
2 回答
1886 浏览

scala - 使用 Spark DStream 作为 Akka 流的源的惯用方式

我正在构建一个 REST API,它在 Spark 集群中开始一些计算并以结果的分块流进行响应。给定带有计算结果的 Spark 流,我可以使用

从 Spark 发送数据。我正在使用 akka-http 发送分块的 HTTP 响应:

为简单起见,我试图先让纯文本工作,稍后再添加 JSON 编组。

但是使用 Spark DStream 作为 Akka 流的源的惯用方式是什么?我想我应该能够通过套接字来做到这一点,但由于 Spark 驱动程序和 REST 端点位于同一个 JVM 上,为此打开一个套接字似乎有点矫枉过正。

0 投票
3 回答
8250 浏览

scala - 如何优雅地停止必须部署的 akka-http 服务器的参与者系统。

我刚刚用 akka-http 创建了我的第一个休息服务器。问题是我不知道如何以可以优雅地关闭参与者系统的方式部署服务器。

例如,我在这里找到了一些东西:https ://stackoverflow.com/a/17399574/5388513你可以在其中使用 Akka 的微内核,但它已被弃用。我尝试使用 sbt-native-package,但我不知道如何优雅地关闭 actor 系统。

谢谢!

0 投票
1 回答
1647 浏览

scala - Akka HTTP 中每个请求的参与者。如何将其与 Route 指令集成?

我正在努力让这个工作,你能建议吗?

如何解决该编译器错误并继续使用 tell 模式来完成请求?请注意我没有使用喷雾。使用 akka-http

0 投票
0 回答
708 浏览

scala - 我可以使用带有 akka http 的播放框架(不是播放中的那个)并禁用 netty 服务器吗?

我并不是指禁用 PlayNettyServer 并启用文档中描述的 AkkaHttpServer 的方式,方法是使用:

我的意思是利用 play 框架的依赖注入和其他工具,如 play-slick,并直接在代码中使用 akka-http,如:

在模块中我可以将其设置为:

这行得通。但我仍然想知道如何在不运行 PlayNettyServer 的情况下启动它。我试过了:

但是出现了异常:

我想知道是否有办法充分利用 Play 框架及其所有功能,并使用 akka http 构建更高性能的服务器。

0 投票
2 回答
6261 浏览

scala - akka http:Akka 流与演员建立休息服务

当涉及在 akka http 上创建具有 60 多个 API 的 REST Web 服务时。我如何选择应该使用 akka 流还是使用 akka 演员?在他的帖子中,Jos 展示了在 akka http 上创建 API 的两种方法,但他没有展示我何时应该选择其中一种。

0 投票
1 回答
8193 浏览

scala - akka-http:找不到参数解组的隐式值

我的喷雾 json 支持看起来像这样

在我的路线中,我想将请求映射到 dto

但我得到

已经看到所有相关的 SO 问题,但没有解决我的问题。奇怪的是,我尝试了 Typesafe 模板 akka-dddd-cqrs 并且它工作正常,代码相同。

我错过了隐含上下文的东西吗?有什么想法吗?

0 投票
3 回答
8741 浏览

spray-json - akka-http 错误:找不到参数 um 的隐式值:akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller

我知道已经有人问过了,但我似乎找不到答案。这是我的代码:

此代码生成错误

现在这种错误最常见的原因是忘记将编组隐式导入roads定义附近的范围,但是,我没有忘记这一点。另一个原因可能是我FlowMaterializer在范围内隐含而不是ActorMaterializer,但ImplictMaterializertrait 可以解决这个问题。

还有什么我可能会丢失的吗?

我正在使用 Scala 2.11.7、Akka 2.3.11、akka-http 1.0、spray-json 1.3.2

0 投票
0 回答
86 浏览

scala - 如何以抽象方式使用 Spray JSON 序列化器?

知道为什么这段代码不起作用吗?我试图对serialize所有异常都有方法,以避免对每个异常都进行模式匹配。使用下面的代码,我只需要case ex:MarshallableException => ex.serialize

下面的代码可以独立运行。它将打印Start... Serialization Failure shared.utils.InvalidID:(

0 投票
2 回答
5395 浏览

akka - 使用 akka 流有条件地跳过流

我正在使用 akka 流,并且我有一部分图表需要有条件地跳过,因为流无法处理某些值。具体来说,我有一个接受字符串并发出 http 请求的流程,但是当字符串为空时服务器无法处理这种情况。但我只需要返回一个空字符串。有没有办法做到这一点而不必通过http请求知道它会失败?我基本上有这个:

我唯一能想到的就是在我的 httpResponse 流中捕获 400 错误并返回一个默认值。但是我希望能够避免为我知道会事先失败的请求而访问服务器的开销。