问题标签 [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 回答
4276 浏览

scala - 是否可以在 Actor 内发出 Akka HTTP 核心客户端请求?

下面是一个简单的参与者,它需要进行 HTTP 调用以从 API 接收数据。根据Akka HTTP Core Request-Level Client-Side API ,只有ActorSystemActorMaterializer是隐式需要的。

但是,在尝试编译应用程序时,我收到以下错误消息:

这是在 Akka Actor 中进行 HTTP 调用的正确方法吗?

编辑

包括import ExecutionContext.Implicits.global修复最后两个ExecutionContext错误。

0 投票
2 回答
694 浏览

docker - 无法从外部访问 Docker 容器中的应用程序

所以这行得通。但是从外部,从 docker 守护进程的主机来看,它没有。尽管有 EXPOSE 命令和 -P 参数。

为什么?:( :(

源代码在这里。Dockerfile 也是如此,但粘贴在下面:

0 投票
7 回答
30971 浏览

scala - akka HttpResponse 将正文读取为 String scala

所以我有一个带有这个签名的函数(akka.http.model.HttpResponse):

我只是在测试中得到一个值,例如:

我想在测试中检查它的身体,例如:

我的问题是如何将响应正文作为字符串获取?

0 投票
1 回答
704 浏览

scala - Akka HTTP ambiguous implicit conversion

I'm cutting my teeth on Akka HTTP by working this example. For the purposes of learning, I converted it to a Maven project. However, I'm getting compilation errors as follows using Akka v2.3.12 and Akka Stream v1.0. The POST DSL fails with similar errors that I'm not posting for brevity. How can I get the example to run?



0 投票
1 回答
796 浏览

scala - 微服务中的路由 - 坚持基础

我正在使用 akka-http 构建一个简单的 RESTful 微服务,该微服务将数据存储在 cassandra 中。我有 cassandra 部分工作,大部分服务部分除了无法弄清楚路由部分。我理解这个概念,但停留在细节上。这是我无法编译的服务代码。

UsersService 是 cassandra 的数据服务,所有方法都返回期货。我确实希望所有响应都是 JSON,我认为可以使用喷雾(implicit val jsonFormatUsers = jsonFormat5(Users) 或我拥有的自定义 PersonJsonProtocol)来处理它,但不确定如何在路由代码中使用它。

在此先感谢,我知道这对你们中的许多人来说相当简单:)

0 投票
1 回答
7604 浏览

scala - akka-http:如何设置响应标头

我的路线如下:

我的响应的内容类型应该始终是application/json我为get请求设置的。但是,我在测试中得到的是text/plain. 如何在响应中正确设置内容类型?

顺便说一句,akka-http 文档是我见过的最没有价值的垃圾之一。几乎每个示例代码的链接都被破坏了,它们的解释只是说明了显而易见的。Javadoc 没有代码示例,我在 Github 上找不到他们的代码库,因此从他们的单元测试中学习也是不可能的。

0 投票
3 回答
16532 浏览

scala - 如何记录 Akka HTTP 客户端请求

我需要记录 akka http 客户端请求及其响应。虽然似乎有用于记录这些请求的 API 提示,但没有明确的文档说明应该如何完成。我的方法是创建一个记录的请求,它透明地包装Http().singleRequest(req)如下:

不幸的是,我必须通过 unmarshal 或简单地请求来获取未来resp.entity.dataBytes,以便恢复响应的主体。我得到了日志记录,但承诺已经完成,我不能再将实体解组为实际数据。一个可行的解决方案将记录请求和响应并通过此测试用例,而IllegalStateException不会抛出“承诺已完成”:

欢迎提出想法。

0 投票
1 回答
283 浏览

request - 为什么akka http不继续请求?

我遇到了 akka-http 的问题。我试图在一个流程中多次请求,但它在 4 次时以默认配置停止。这是我使用的代码。有人可以帮我理解它为什么要等待吗?

非常感谢

0 投票
1 回答
828 浏览

scala - 使用 mockito 库的 Scala 单元测试

我正在 akk-http 中编写其余测试用例,我在语句中收到此错误。when(mockedRepository.getAllFromModule).thenReturn(x)我的类如下:

ImplModuleRepository是一个抽象类,它从 postgres 数据库返回所有模块的列表,程序显示如上所述的错误,实际上语句 theReturn(x) 没有编译并且在编译时显示此错误:

我不知道出了什么问题。

0 投票
2 回答
2439 浏览

scala - Akka Stream 和 HTTP Scala:如何从路由向 Actor 发送消息

我玩的是akka-stream-and-http-experimental1.0。到目前为止,我有一个可以接受和响应 HTTP 请求的用户服务。我还将有一个可以管理约会的约会服务。为了进行约会,必须是现有用户。如果用户存在,约会服务将与用户服务进行检查。现在这显然可以通过 HTTP 完成,但我宁愿让约会服务向用户服务发送消息。作为新手,我不清楚如何使用演员(作为akka-http抽象)来发送和接收消息。文档中提到了ActorRefand ActorPublisher,但没有前者的例子,后者看起来像我需要的过度杀伤力。我的代码如下所示,位于Github上:

编辑:我想出了如何发送消息,这可以使用Source.actorRef. 那只会将消息发送到流中。我想做的是让路由处理程序类接收响应。这样,当我创建约会服务时,它的参与者可以调用用户服务参与者并以与我示例中的用户路由处理程序相同的方式接收响应。伪代码:

val src = Source.single(name) \\ How to send this to an actor and get the response

编辑 2:基于@yardena 的回答,我想出了以下内容,但最后一行没有编译。我的演员发布者返回 aFuture我猜它会被包装在 a 中Promise,然后作为 a 传递Future给路由处理程序。