17得票3回答
Akka-http: 处理Accept和Content-type

我正在尝试使用Akka-http,希望有人能够解答以下问题: 如何根据请求中的 accept 标头创建不同的路由?例如,我想要一个代码路径来处理 "json" 请求,另一个来处理 "xml" 请求(如果标头不存在,则默认为 "json") 在某些情况下,我不希望 contentType 被...

16得票3回答
如何测试客户端 Akka HTTP

我刚开始测试 Akka HTTP请求级别的客户端API (基于Future)。我遇到的一个问题是如何为此编写单元测试。有没有一种方法可以模拟响应并让Future完成而无需实际执行HTTP请求? 我正在查看API和testkit包,尝试看看如何使用它,只发现文档中实际上说: akka-...

16得票3回答
Akka http客户端连接池的正确使用

我需要使用Akka的HTTP客户端(v2.0.2)消费REST服务。逻辑上,由于我们预计存在大量同时连接,因此最好通过主机连接池来完成这个任务。这个过程使用Flow来消耗(HttpRequest, T)并返回一个(Try[HttpResponse, T)。 文档指出了一些任意类型T,用于管理潜...

15得票1回答
如何在Akka HTTP指令中使用Future?

我目前有一个指令,用于在Akka HTTP应用程序中保护资源,例如:def authenticate: Directive1[Login] = optionalHeaderValueByName("Authorization") flatMap { val accessToken ...

15得票1回答
如何正确调用Akka HTTP客户端以处理多个(10k-100k)请求?

我正在尝试使用Akka HTTP 2.0-M2编写批量数据上传工具。但是,我遇到了akka.stream.OverflowStrategy$Fail$BufferOverflowException: Exceeded configured max-open-requests value of ...

15得票1回答
如何使用Akka HTTP进行身份验证

寻找一个关于如何使用akka HTTP进行身份验证的好解释。假设有一个看起来像这样的路由:val route = path("account") { authenticateBasic(realm = "some realm", myAuthenticator) { user =...

15得票2回答
使用Akka Http转换Slick流数据并发送分块响应

目标是从数据库流式传输数据,对这些数据执行一些计算(这些计算返回某个实例的未来),并将这些数据作为分块响应发送给用户。目前我能够流式传输数据并发送响应,但是无法执行这些计算,然后流式传输结果。 这是我已经实现的路线。 def streamingDB1 = path("streaming-d...

14得票3回答
如何向Akka HTTP添加自定义编组程序?

作为一个Scala和Akka-HTTP的初学者,我正在尝试将自己与序列化(又称为marshalling)过程连接起来。该项目使用akka@2.5.2和akka-http@10.0.10版本,而且还包括akka-http-spray-json依赖库。在代码库中,我们使用Java.Util.Cur...

14得票3回答
如何在akka-http中读取查询参数?

我知道akka-http库在处理请求时可以将其编组和解组为类类型。但是现在,我需要读取GET请求的请求参数。我尝试了parameter()方法,它返回ParamDefAux类型,但我需要将这些值作为字符串类型。 我查看了下面两个问题的答案: 如何解析Spray路由中的GET请求参数? 使...

14得票1回答
使用akka-http实现多个路由配置

简要背景 我正在学习Akka HTTP堆栈以创建一个新的REST项目(完全非UI)。我一直在使用和增强Akka HTTP微服务示例,以处理一堆用例和配置,并惊喜地发现Scala和Akka HTTP的协同效果非常好。 当前设置 目前我的配置如下:object AkkaHttpMicrose...