问题标签 [spray]

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 投票
2 回答
4365 浏览

spray - 我应该如何使用不同的状态代码响应 Spray 中的 GET 请求?

对于 POST 和 PUT 请求,我使用以下语法:

现在对于 GET 请求,我正在尝试做同样的事情,但我无法让它与我的 PUT 解决方案类似地工作。使用 GET 请求执行此操作的好方法是什么?

更新:我使用以下 hack 来解决这个问题:

我希望使用() =>or可以实现类似的事情ctx =>,但这并不可行,因为它给编组带来了麻烦:

难道这与我使用spray-json的事实有关吗?

0 投票
0 回答
164 浏览

json - json 喷雾镜头中 ExtraImplicits 所需的类文件丢失

我正在尝试编译一个与 json spray 相关的 scala 类。以下错误消息对我来说有点神秘:

这是课堂上的scaladoc。 http://jrudolph.github.io/json-lenses/latest/api/cc/spray/json/lenses/ExtraImplicits.html

@Jrudolph:我已经添加了 Maven 依赖项,如下所示:

查看我自己的 mvn 依赖项,显然存在版本控制不匹配。问题是,mvn repo 中 cc.spray.json 的最后一个版本是上面那个:但是项目下载站点上列出了许多较新的版本。我将不得不在 pom.xml 中使用系统路径(讨厌)或设置一个私人仓库(讨厌)。

0 投票
1 回答
8610 浏览

scala - How to expose REST service for JSON?

I need to expose a Spray service that accepts JSON payload. Where can I find a sample that would demonstrate such a feature?

0 投票
0 回答
1518 浏览

scala - 在 Heroku 上运行 spray.io spray-can 的最简单方法

我是 Scala 和 SBT 的新手。我想用 Spray 和 Akka 在 Heroku 上运行简单的 hello-world http 服务器。http://spray.io/documentation/spray-can/examples/上的 Spray-can 文档告诉我可以这样运行的简单示例:

它可以工作,但它依赖于喷雾罐源代码中的 akka.io.IO,并且尚未合并到最终的 Akka(2.2-SNAPSHOT) - http://doc.akka.io/docs/akka/snapshot/scala/io。 .html _

  1. 2.2-SNAPSHOT我可以在我的 SBT 中使用来自 Akka 的 akka.io.IO吗?如何?
  2. 我可以将 Spray 1.1-M8-SNAPSHOT 中的 akka.io.IO 与我的 SBT 一起使用吗?如何?
  3. 还有另一种简单的方法来运行 hello-world spray-can 吗?

编辑:

广告。1., 2.: akka.io.IO 在 Akka2.2-M3

但是喷雾罐源代码中的示例仍然无法工作,因为缺少spray.can.HttpSpray 1.1-M7。任何想法我该如何解决这个问题?

0 投票
1 回答
619 浏览

scala - 使 Enumerator / Iteratee 适应 Stream

我有一个 Spray 应用程序,我在其中使用reactive-mongo连接到我的 Mongo 数据库。

ReactiveMongo 的游标允许我按块获取数据。此光标可以转换为 play.api.libs.iteratee.Enumerator ,后者又连接到 play.api.libs.iteratee.Iteratee ,其中我想要的任何代码都会为集合的每个元素调用。“Ping”是我的域实体。

使用 Spray 可以返回一个 Stream[Ping] ,该 Stream[Ping] 将被编组为 JSON 响应。我想知道是否可以将 Enumerator 或 Iteratee 调整为 Stream,所以我可以返回它。

0 投票
2 回答
171 浏览

scala - 你如何编写函数文字的缩短版本?

您能否向我解释一下如何编写函数文字的缩短版本?

我正在阅读这个Spray 教程,其中包含以下代码

被压缩到

其中complete是 RouteDirectives 的功能。

我无法在我的代码中重现相同的内容

如果我val asd : MyType = testFunc(10)改为写,我(显然)会出错

所以我想也许“完整”也是一个有apply方法的对象。确实有以下作品

但我没有看到一个物体。在调试器中,它按RouteDirectives.complete预期进入。

为什么 ?我错过了什么?

0 投票
1 回答
4503 浏览

http - 使用喷雾示例进行分块响应处理

文档指出,spray 能够处理分块响应,但我找不到任何示例。有我天真的实现:

我已经设置response-chunk-aggregation-limit = 0了,仍然没有任何反应。

你能给我提供阅读分块响应的例子吗?

更新

我重写了我的代码如下:

现在我在closed: ProtocolError(Aggregated response entity greater than configured limit of 1048576 bytes)建立连接后收到。

我的应用程序.conf

0 投票
2 回答
2308 浏览

scala - 从请求中提取 Spray.io Content-Type?

由于 Spray.io 在低级别定义内容类型,我如何简单地引用传入请求的内容类型?

这是一个 PUT 图像的简短示例。

鉴于上面的代码,提取内容类型的简单方法是什么?我可以简单地使用它来模式匹配到适当的fileExtension. 谢谢你的帮助。

0 投票
0 回答
976 浏览

scala - playframework 2 在 web 模板和 MV 方面的未来是什么*

我听说 Play Framework 2 将使用spray而不是netty。喷雾自己认为

“最近将 Web 应用程序逻辑越来越远离服务器并转移到(基于 JS)浏览器客户端的趋势,以及用于喷雾本身不提供的东西的良好 SBT 插件的可用性越来越高(如视图模板或LESS 和 CoffeeScript 支持)"

这是否意味着 playframework 将默认使用 javascript MV*而不是scala 模板

哲学点scala- 为大范围的用例提供可扩展的(独特的)语言 - 如网络服务、逻辑、网络。但是 WEB 本身与它周围的框架非常Javascript接近HTML

人们倾向于在其云盒上节省处理器时间(金钱),并且可能会选择使用客户端计算而不是服务器端,如果可能的话。

这就是这个问题的背景——Play Framework 的作用是什么?

它应该使用scala它来编译javascript(例如)吗?

0 投票
1 回答
4489 浏览

unit-testing - Scala测试模拟隐式参数?

当涉及隐式参数时,我很难理解如何在 Scala 中编写测试。

我的代码和测试有以下(短版):

实现(Scala 2.10、Spray 和 Akka):

测试(使用 ScalaTest 和 Mockito):

此行verify(request).complete(result)使用隐式 Marshaller 转换Result为 JSON。

我可以通过添加将 marshaller 带入范围,implicit val marshaller: Marshaller[Result] = mock[Marshaller[Result]]但是当我运行测试时,使用了不同的 Marshaller 实例,因此验证失败。

即使明确地将模拟 Marshaller 传递给complete失败。

那么,任何人都可以建议如何为隐式参数创建一个模拟对象并确保使用该实例吗?