问题标签 [spray-client]
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 - 喷雾客户端 - 将具有意外内容类型的响应视为应用程序/json?
当我尝试获取这样的亚马逊身份数据时
使用适当的案例类和格式化程序,我收到以下异常
不支持的内容类型(预期的“应用程序/json”)
因为亚马逊将他们的回复标记为文本/纯内容类型。他们也不关心Accept标头参数。有没有一种简单的方法可以告诉 spray-json 在解组时忽略这一点?
scala - 通用喷涂客户端
我正在尝试使用喷雾在 Scala 中创建一个通用的 HTTP 客户端。这是类定义:
对象utils.AllJsonFormats
具有以下声明。它包含所有模型格式。在“另一端”使用相同的类,即我还编写了 API,并在那里使用了与 spray-can 和 spray-json 相同的格式化程序。
当然,该对象具有对 models.api.Space、models.api.Failure 和 models.api.Success 序列化的定义。
类型看起来不错,即当Space
我告诉泛型方法它将接收并返回 aSpace
时,没有错误。但是,一旦我将 Either 带入方法调用,就会出现以下编译器错误:
找不到 spray.httpx.unmarshalling.Unmarshaller[Either[models.api.Failure,models.api.Success]] 类型的证据参数的隐式值。
我的期望是spray.json.DefaultJsonProtocol 中隐含的,即spray.json.StandardFormts 中的隐含内容,可以覆盖我。
以下是我的 HttpClient 类,尝试最好是通用的: 更新:更清晰/可重复的代码示例
有了上述,问题仍然出现在 unmarshaller 未解决的地方。帮助将不胜感激..
谢谢。
scala - 使用喷雾客户端在 Actor 系统内进行 REST Web 服务调用
我有一个 Actor 系统,它正在处理来自外部系统的连续流消息。我的系统中有以下演员。
SubscribeActor
- 这个 Actor 订阅了 Redis 通道并创建了一个新的 InferActor 并将 JSON 有效负载传递给它。InferenceActor
- 这个演员负责2a。解析负载并从 JSON 负载中提取一些值文本值。2b。调用外部REST service
将 2a 中提取的值传递给此服务。REST 服务部署在 LAN 中的不同节点上,并且在计算方面做了一些相当繁重的工作。
2b 中的外部 REST 服务是使用 Spray 客户端调用的。我测试了系统,它工作正常,直到 2a。但是,一旦我介绍了 2b。我开始出现 OutOfMemory 错误,系统最终停止运行。
目前,我有两个主要嫌疑人——
- 设计缺陷 - 我在 Actor 系统中使用 Spray 客户端的方式不正确(我是 Spray 新手)
- 由于缓慢的 REST 服务导致的延迟导致的性能问题。
在我转到 #2 之前,我想确保我正确使用了 Spray 客户端,尤其是。当我从其他演员那里打电话时。我的问题是正确/不正确/次优下面的用法?
这是调用该服务的 Web 服务 REST 客户端的代码。
这是InferenceActor
调用上述服务的代码。
scala - 限制 Akka/Spray 上的 HTTP 请求
我在 Scala 中使用 Akka 演员从外部服务(HTTP 获取请求)下载资源。来自外部服务的响应是 JSON,我必须使用分页(提供程序非常慢)。我想在 10 个线程中同时下载所有分页结果。我使用这样的 URL 来下载块:http ://service.com/itmes?limit=50&offset=1000
我创建了以下管道:
ScatterActor 获取要下载的项目总数并将其分成块。我创建了 10 个 LoadChunkActor 来同时处理任务。
LoadChunkActor 使用 Spray 发送请求。演员长这样:
如您所见,LoadChunkActor 正在从外部服务请求块并添加要在 onComplete 上运行的回调。Actor 现在准备好接收另一条消息并且他正在请求另一个块。Spray 正在使用非阻塞 API 来下载块。结果外部服务被我的请求淹没了,我得到了超时。
如何安排任务列表但我想同时处理最多 10 个?
scala - [Spray Client]:Facebook 图形 API 返回错误的内容类型
盯着Spray Library,我尝试向 Facebook Graph API 发出请求:
主要问题是响应的内容类型
Content-Type: text/javascript; charset=UTF-8
不是预期的application/json
我的请求到底有什么问题?
由于Spray
严重依赖于内容类型进行解析等。
scala - 喷解压 HttpResponse
我正在使用 Spray API(spray-client) 来访问外部 URL,并且我得到了 gzipped HttpResponse。如何解压缩此 HttpResponse 以获取其实体(在我的情况下为 json)?
在这里,json 被压缩。我如何解压缩它?
scala - spray.io 如何与 scala 2.11.1 akka 2.3.2 一起工作
我想将 spray.io 与 scala 2.11.x akka 2.3.x 一起使用,我在 spray.io 的项目信息页面中找到以下内容:
当我使用 spray-client 时,我遇到了一些问题,然后我在 spray.io 的文档页面中发现,spray-client 依赖于 akka 2.10.x:
提供的范围是什么意思?如何将它与用 scala 2.11.x akka 2.3.x 编写的程序的其他部分一起使用?
编辑
以下是文档页面中列出的最简单的用例:
使用 build.sbt:
虽然这编译得很好,但它遇到了运行时错误:
asynchronous - 从喷雾响应中访问喷雾请求
我每 50 毫秒调用一次这个函数:
我想知道我的成功请求中发送了哪些数据。
我怎样才能做到这一点?
scala - 找到:spray.routing.Directive0(扩展为)spray.routing.Directive[shapeless.HNil] 需要:spray.routing.Directive[shapeless.HList]
我需要帮助。我正在尝试使用 CURL 进行 HTTP POST 并使用喷雾路由和参数
我的 JSON Post 是可选的,这意味着我也可以将请求作为
如果我在路由中使用
上面的代码工作文件
但是如果我尝试使 POST 可选,它不起作用
有人可以帮忙解决问题吗?
json - Spray Client 我想从 Json 响应中返回字符串
对不起,但我是 Scala 的新手。我已经阅读了有关 Futures 和 Akka 的信息,但是我仍然在为我的方法返回字符串时遇到问题。
我有一个方法 getAuthString 应该返回身份验证字符串(或令牌)。我使用了喷雾 Jsonsupport,我可以打印结果
这将解组 json 并打印所需的 authString。但是,印刷对我没有好处。我知道 onComplete 返回单位。我想返回 authString 以便我可以在其他地方使用它来处理另一个请求。我想我将不得不使用平面地图或地图,但我不确定如何。我需要我的方法来返回 authString 或错误。