问题标签 [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.
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)
?
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
知道我做错了什么吗?我很想知道如何做到这一点。更好的是解释它正在寻找的这种无形类型是什么。谢谢
spray - 如何仅使用 pathEnd 添加路由的测试用例
我有路线
我正在尝试像这样为这条路线添加一个测试用例
但我越来越
谁能告诉我如何为这条路线编写测试用例?提前致谢。
scala - 尽管没有调用拒绝,但路由指令处理不正确
你能解释一下为什么小修改会完全破坏我的路由吗?
我的路由很简单
它支持两个未经身份验证的呼叫login
和serverInfo
. 所有其他请求必须在里面有 sessionId。
我在下面描述的情况发生在客户端仅发出一个登录请求时。
当我使用带有myAuthorization { }
. 但它不适用于extractSession(payload) { }
. myAuthorization
隐式地HttpEntity
作为输入。
最让我困惑的是,ifTrue2
即使它们没有改变,指令也停止了工作。在调试器中,我看到它IfTrue2
被调用了两次:使用("login", "login")
和("login", "serverInfo")
参数。
为什么它的工作方式不同?我该怎么做才能修复它?
scala - 如何在单个路由中解组 POST 参数和 JSON 正文?
我有这条路线:
这很好用,我可以称我ElevationService
为:
问题是,我还想将请求中发送给我的正文解析为 JSON。它看起来如下:
我已经设法让它按照实体指令的文档在单独的路线上工作:
但我不知道如何将这两条路线合并为一条。由于它们被包装在函数中,因此我无法从函数内部调用 params long
,我想它们在该范围内不存在。情况相同或相反。lat
entity
我希望能够访问我的参数和我的 POST 正文,然后调用一个传递所有数据的服务:
akka - 喷射路由与 HTTP 方法不正确匹配
我正在使用 Spray Routing 尝试使用不同的 HTTP 方法匹配路由,但是当我执行 GET 请求时,它实际上会通过 DELETE、PUT 和 GET。我认为delete
并put
拒绝了所有不是 HTTP DELETE 或 HTTP PUT 的请求。
这是我的基本代码:
如果我触发 GET 请求,我可以看到应用程序正在打印:
我错过了任何回电或其他什么吗?
scala - 喷雾路由 - akka 询问 Marshaller
我正在尝试按照原始文档中的示例在 spray.io 中完成一项服务,但我遇到了错误消息:
在哪里
我不确定我在这里错过了什么。有经验的大侠能指点一下吗?
谢谢
scala - spray-testkit === status 通过任何状态
我在带有 scalatest 的 spray-testkit 中进行了以下测试,尽管实际状态如此,但我不明白为什么每次都通过测试。
即使状态应该不同,测试也会通过,并且当我因为明显的原因(如拒绝)而使测试失败时......错误消息如下:
似乎我在这里遗漏了一些重要的概念。
有人可以澄清一下吗?
更新:以下工作正常
java - Scala符号到Java枚举
我正在使用喷雾路由,它使用符号作为参数非常优雅。但是我正在处理一些遗留代码并且需要使用 java 枚举。有没有一些优雅的方法可以将 scala 符号转换为 java 枚举?
所以所需的代码如下所示:
其中 TypNem 是 java 枚举, Import 是一个 scala 案例类。代替