问题标签 [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.
json - 在 spray 中发送 post 请求
我需要使用spray
框架发出一个简单的 HTTP 请求。我在他们的网站上找到了一些示例,但结果证明它们很复杂并且涉及 Akka,这对我来说不是必需的。
此外,我需要能够填写请求的标头(如X-Application
、content-type
等),当然还有请求的 post 数据(在我的例子中,它是 JSON 格式的数据)。
那么我该怎么做呢?
scala - 我应该使用 spray 还是 akka-camel 来开发新的 REST API?
我必须使用 Akka 开发一个新的 REST API,但与 akka-camel 扩展相比,我无法确定基于 Spray 的 akka-io 是否是更好的选择。似乎这两个 API 都支持非阻塞 IO。akka-camel 看起来更容易,但我不知道它在性能方面与 Spray 相比如何。
场景很简单:我必须通过 http REST 端点接收一条消息,然后处理该消息并通过 HTTP POST 将其发送到许多外部服务之一。
akka-camel 非常适合这一点,但我每天要处理数百万条消息,所以我想知道 akka-camel 和 Spray 的性能是否具有可比性。两者都适用于 REST 集成,akka-camel 可能更成熟,但 Spray 可能更现代。
Akka 团队正在接受 Spray,所以我想知道他们是否推荐 Spray 而不是 akka-camel 用于基于 REST 的集成。
scala - Spray Client Post Multipart
我想使用 Spray 将多部分表单发布到服务器。特别是我想发布一张图片。
我遇到的问题是将文件编组为多部分。尽管在 Spray 他们提到它是一个默认的 Marshaller,但我似乎无法将两者结合在一起。
我目前使用的是 Spray 1.0-M7,因为我还没有迁移到 Scala 2.10,如果该示例可以与该分支兼容,那就太好了。
我目前拥有的是这样的:
当然,我收到一条错误消息:
我发现的大多数示例都使用 content(as[X]) 指令来编组,但我没有使用 Spray-routing,我只需要在基于另一个框架的应用程序中使用 spray-client 执行帖子。
谢谢
编辑
我实际上已经设法像这样编组它:
不幸的是,这仍然不起作用,数据正在传输,但服务器找不到文件。
一个wireshark捕获揭示了以下内容:
这是使用 Advanced Rest Client 发出的有效请求的捕获:
spray - 如何从自定义指令中抛出异常?
我的服务的所有 API 调用都是 HTTP POST,参数在多部分正文中传递。目前我的身份验证看起来像这样
但它看起来太冗长了。理想情况下,我想要类似的东西:
所以我这样写:
但是您将如何编写myAuthorization
以便它在请求中抛出AuthorizationFailedRejection
no呢?token
scala - 如何将我的喷雾 API 部署到生产环境中?
我正在考虑如何将我已经在本地测试过的rest api部署到云中,比如说像亚马逊这样的基础设施即服务(而不是像Heroku这样的平台即服务)。
我已经用 sbt 设置了本地环境并运行,但我的问题是我应该如何在生产环境中部署它?
定义一个流程是否合理,在该流程中 devops 从 git repo 中提取最新更改,然后简单地执行 sbt run?
我想知道使用 scala+spray+sbt 的团队如何将他们的 api 部署到生产环境中。
scala - Play2 应用程序上下文中的 spray.io http 服务器
我在 Play 2 App 中实现了一个 API 服务,目前该 api 在 5 个服务器上每秒处理 5-7000 个请求。我最近对 Spray.IO 和 Play2 进行了基准测试,发现简单 http 请求的性能几乎提高了 3 倍。
我宁愿不重新实现 Spray 中的所有内容,而是我可以以某种方式将 Spray HTTP 服务器嵌入到我的 Play 应用程序中,而不是使用它来服务器 http 请求。
这可能吗?有没有这样的例子?
scala - sbt 将喷雾示例应用程序发布到本地 maven 存储库
我是新手maven
,我正在尝试弄清楚如何将sbt publish
示例应用程序喷射到我的本地maven
存储库。我可以发布喷雾项目,但不能发布示例应用程序。我通过这样sbt publish
的改变得到publishTo
了喷雾项目BuildSettings.scala
关于如何发布示例应用程序的任何想法?
更新 在稍微修改后,“sbt package”为示例应用程序创建了 jar 文件,现在我想我可以使用 maven 将它部署到我的本地 repo 吗?
scala - 如何确保 Scala Spray URI 中的路径没有尾部斜杠?
我相信我的代码失败了,因为 Spray URI 被发送到带有斜杠的服务器。如何确保没有尾部斜杠?
我正在使用 Spray 在 Scala 中编写客户端身份验证代码。它与各种服务器共舞,使用 ScalaFX WebView 获取用户凭据,服务器发送以下形式的 URL:https://server.com/path/to/start?st=abc123。
我还没有完全证明这一点,我很确定在后台 Spray 正在把它变成https://server.com/path/to/start / ?st=abc123 (注意路径末尾之间的 /和查询)。
scala - 映射喷雾参数
我正在尝试构建一个简单的 API 来了解 Spray 的功能,并且已经被将参数映射到真实类型所困。我有以下无法编译的代码,但我正在使用它,如 Spray 自己的文档中所述:
我收到的错误是
[错误] /.../MyService.scala:47: ')' 预期但 '[' 找到。
[错误] 参数('lat as[Double], 'lng as[Double]).as(Nearby) { lat =>
值得一提的是,我对 Scala 也有些陌生,所以我很容易做一些非常简单的错误。
scala - Spray-json 和列表编组
我正在使用 spray-json 将自定义对象列表编组为 JSON。我有以下案例类及其 JsonProtocol。
当我尝试输入这样的路线时:
我收到一条错误消息:
也许你知道问题出在哪里?
我正在使用带有 spray 1.1-M7 和 spray-json 1.2.5 的 Scala 2.10.1