问题标签 [spray-dsl]

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 回答
1043 浏览

scala - 未找到喷雾列表编组器

此代码导致编译错误could not find implicit value for parameter marshaller: spray.httpx.marshalling.ToResponseMarshaller[List[akka.actor.ActorRef]]

我不认为问题是ActorRef,因为将其更改为.mapTo[List[String]]显示相同的编译错误

一般来说,spray 是如何与所有隐式进行编组的有点令人困惑 - 有没有办法让这个明确的,例如ListProtocol.marshal(value)

0 投票
1 回答
1381 浏览

scala - 如何喷雾解组查询参数中的列表

我是新来喷的。我正在尝试构建路由,虽然我设法使用参数指令从查询字符串中获取参数,但当我希望其中一个参数成为列表时遇到了麻烦。

对于这个例子,我定义了这个案例类:

我的路线目前看起来像这样:

这工作正常,我可以做一个 get: localhost:8080/test?name=jo&friends=12 并得到我所期望的。

我想传递朋友 id 的列表,而不仅仅是朋友的数量,所以我首先改变了我的案例类,如下所示:

我打电话给:localhost:8080/test?name=jo&friends=1,2

这不编译。我得到一个类型不匹配:找到:Person.type required: spray.routing.HListDeserializer[shapeless.::[String,shapeless.::[String,shapeless.HNil]],?] get { parameters('name, 'friend ).as(Person) { p => ^ 注释:this 指向 .as(Person) 中的 P

知道我做错了什么吗?我很想知道如何做到这一点。更好的是解释它正在寻找的这种无形类型是什么。谢谢

0 投票
0 回答
93 浏览

spray - 如何仅使用 pathEnd 添加路由的测试用例

我有路线

我正在尝试像这样为这条路线添加一个测试用例

但我越来越

谁能告诉我如何为这条路线编写测试用例?提前致谢。

0 投票
1 回答
338 浏览

scala - 尽管没有调用拒绝,但路由指令处理不正确

你能解释一下为什么小修改会完全破坏我的路由吗?

我的路由很简单

它支持两个未经身份验证的呼叫loginserverInfo. 所有其他请求必须在里面有 sessionId。

我在下面描述的情况发生在客户端仅发出一个登录请求时。

当我使用带有myAuthorization { }. 但它不适用于extractSession(payload) { }. myAuthorization隐式地HttpEntity作为输入。

最让我困惑的是,ifTrue2即使它们没有改变,指令也停止了工作。在调试器中,我看到它IfTrue2被调用了两次:使用("login", "login")("login", "serverInfo")参数。

为什么它的工作方式不同?我该怎么做才能修复它?

0 投票
1 回答
2872 浏览

scala - 如何在单个路由中解组 POST 参数和 JSON 正文?

我有这条路线:

这很好用,我可以称我ElevationService为:

问题是,我还想将请求中发送给我的正文解析为 JSON。它看起来如下:

我已经设法让它按照实体指令的文档在单独的路线上工作:

但我不知道如何将这两条路线合并为一条。由于它们被包装在函数中,因此我无法从函数内部调用 params long,我想它们在该范围内不存在。情况相同或相反。latentity

我希望能够访问我的参数和我的 POST 正文,然后调用一个传递所有数据的服务:

0 投票
1 回答
519 浏览

akka - 喷射路由与 HTTP 方法不正确匹配

我正在使用 Spray Routing 尝试使用不同的 HTTP 方法匹配路由,但是当我执行 GET 请求时,它实际上会通过 DELETE、PUT 和 GET。我认为deleteput拒绝了所有不是 HTTP DELETE 或 HTTP PUT 的请求。

这是我的基本代码:

如果我触发 GET 请求,我可以看到应用程序正在打印:

我错过了任何回电或其他什么吗?

0 投票
2 回答
1060 浏览

scala - 运行简单喷射路线测试结果:无法初始化类 spray.http.Uri$

我对喷涂还很陌生。我正在尝试正确进行测试,因此我使用了spary testkit中显示的示例,但是我收到了此错误。任何帮助将不胜感激:

这是测试类

我正在使用 maven 这是依赖项和版本

0 投票
2 回答
293 浏览

scala - 喷雾路由 - akka 询问 Marshaller

我正在尝试按照原始文档中的示例在 spray.io 中完成一项服务,但我遇到了错误消息:

在哪里

我不确定我在这里错过了什么。有经验的大侠能指点一下吗?

谢谢

0 投票
1 回答
254 浏览

scala - spray-testkit === status 通过任何状态

我在带有 scalatest 的 spray-testkit 中进行了以下测试,尽管实际状态如此,但我不明白为什么每次都通过测试。

即使状态应该不同,测试也会通过,并且当我因为明显的原因(如拒绝)而使测试失败时......错误消息如下:

似乎我在这里遗漏了一些重要的概念。

有人可以澄清一下吗?

更新:以下工作正常

0 投票
2 回答
206 浏览

java - Scala符号到Java枚举

我正在使用喷雾路由,它使用符号作为参数非常优雅。但是我正在处理一些遗留代码并且需要使用 java 枚举。有没有一些优雅的方法可以将 scala 符号转换为 java 枚举?

所以所需的代码如下所示:

其中 TypNem 是 java 枚举, Import 是一个 scala 案例类。代替