问题标签 [sttp]
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 - 如何使用 Circe 的手动解码器反序列化非固定的 json 数组?
我有一个看起来像这样的 JSON:
我主要对解析/反序列化数据列表感兴趣,我想手动进行(出于某种神秘原因,我更喜欢手动方式)。
如果这是相关的,我正在使用 sttp 的 circe 库sttp.client.circe._
,目的是将来自 get 请求的传入数据直接解析为使用asJson
.
获取 sttp 请求类似于:
这是我到目前为止所尝试的:
我的方法的问题(我认为)是.downArray
让我只序列化用户数组中的第一个用户。
我的目标是能够拥有一些用户序列(List[User]
可能是这样),但目前我最终只反序列化数组中的一个用户。
值得一提的是,“data”数组,并不包含固定数量的用户,每次api调用都会产生不同数量的用户。
scala - 完成请求后如何关闭 STTP 后端?
我目前正在使用 Monix 后端学习和玩 STTP。在处理完所有请求(每个请求都是一个任务)后,我主要坚持关闭后端。
我创建了类似于我的问题的示例/模拟代码(据我了解,我的问题更普遍,而不是特定于我的代码):
我的 fetch (api call maker) 函数看起来像:
由于我的主要任务包含稍后需要处理的其他任务,因此我需要找到一种替代方法来从外部关闭 Monix 后端。在我消费请求后,有没有一种干净的方法来关闭后端List[Task[Response[Either[String, String]]]]
?
scala - Tapir 无法使用“DecodingFailure(CNil, List(DownArray))”解码密封特征列表
Tapir 文档声明它支持解码密封特征:https ://tapir.softwaremill.com/en/latest/endpoint/customtypes.html#sealed-traits-coproducts
但是,当我尝试使用此代码执行此操作时,出现以下错误:
构建.sbt:
可以在此处找到此特定端点的文档:https ://ip-api.com/docs/api:batch
scala - Sttp Uri 避免解码
我正在尝试从预签名的 s3 url 下载文件:
当我将其转换为 Uri
它解码%3A
. activity-2021-02-01_00%3A34%3A43.zip
-> activity-2021-02-01_00:34:43.zip
:
当我尝试使用解码的 Uri 获取文件时,我收到以下错误消息:
The request signature we calculated does not match the signature you provided. Check your key and signing method.
我认为 uri 解码会导致问题,因为 curl 可以%3A
正常工作,但:
不能。
有没有办法避免解码路径?我找不到任何关于它的信息。
我正在使用以下 sttp 版本。
scala - 使用 Scala sttp 客户端优雅地处理错误
我正在使用 scala sttp 客户端,特别是使用 Monix 后端,我有以下代码:
我有一组通过此方法运行的 URL:
然后在我的调用者函数中执行任务:
然后我对具体化类型进行模式匹配并返回,我想要的不仅仅是成功和失败,但我想同时拥有这两个值:
我需要获取带有相应成功或失败消息的 URL 列表。使用我所拥有的这种方法,我只能得到其中一个,这在我进行模式匹配时很明显。如何同时收集成功和失败?
scala - 使用sttp将响应保存为scala中的文件
我已经设置了一个 api,它在给定的路径中发送文件的数据。我正在尝试从 api 获取 .xlsx 文件并将其传递给XSSFWorkbook
进一步处理。为此,我尝试了两种方式:
- 将内容传递给 InputStream,然后将其传递给 XSSFWorkbook。这是一个错误
invalid code lengths set
- 将文件保存在某个本地路径中并读取它。但它正在破坏 xlsx 文件,就好像我试图将响应保存为 Postman 中的文件一样。
我可以知道上述方法是否有任何问题或有更好的方法吗?
PS:我提到的API是建立在fastapi之上的。
编辑:实施getFileContent
scala - Sttp Client 3 ZLayer 类型不匹配
我使用 ZLayer 和 Sttp Client(async 来创建简单的 http 请求者应用程序,但我发现我无法解决的类型不匹配错误。谁能告诉我为什么我收到类型不匹配错误?
我使用这些版本的 scala 和库。
java -> 8.282.08.1-amzn
斯卡拉-> s.13.5
dev.zio -> 1.0.7
com.softwaremill.sttp.client3 -> 3.3.0
这是整个代码
sttp - sttp 的 http4s-backend (scala 3) 在哪里?
此处的 sttp 文档页面https://sttp.softwaremill.com/en/latest/backends/http4s.html要求使用"com.softwaremill.sttp.client3" % "http4s-backend_3" % "3.3.6"
,但这不在 maven Central 中。我尝试使用
g:com.softwaremill.sttp.client3 a:http4s-backend_3
或只是在中央搜索,a:http4s-backend_3
但我无法找到这种依赖关系。sttp 文档页面没有提到任何其他 repo。
谢谢
scala - 多部分请求通过 sttp(zio) 失败
我正在尝试使用sttp(zio version)
来调用 aws s3 存储桶上传。以下是我正在使用的代码:
它取得了成功,postman
但在这里失败了,说有不止一个属性。我得到的确切错误如下:
也许 sttp 正在以不同的方式考虑身体的各个部位,因为最终它也获得了成功akka-http
:
imap - RocketChat:电子邮件身份验证不断失败
我们一直在尝试将我们的电子邮件服务器连接到 Rocketchat,但我们不断收到授权错误(请参阅下面的日志)。这可能与在表单中必须添加用户和密码这一事实有关,但用户和密码的内容不是很清楚。我们已经尝试了我们能想到的所有可能的组合,但我们有点没有想法。建议?
提前致谢。
服务器设置信息 Rocket.Chat 服务器版本:CE 3.15.1 操作系统:ubuntu 20.04 部署方式:digitalocean IaaS 运行实例数:1
日志:异步函数回调中的异常:错误:身份验证失败。在 Parser 的 Connection._resTagged (/opt/Rocket.Chat/programs/server/npm/node_modules/imap/lib/Connection.js:1502:11)。(/opt/Rocket.Chat/programs/server/npm/node_modules/imap/lib/Connection.js:194:10) 在 Parser.emit (events.js:314:20) 在 Parser.EventEmitter.emit (domain. js:483:12) 在 Parser._resTagged (/opt/Rocket.Chat/programs/server/npm/node_modules/imap/lib/Parser.js:175:10) 在 Parser._parse (/opt/Rocket.Chat/程序/服务器/npm/node_modules/imap/lib/Parser.js:139:16) 在 Parser._tryread (/opt/Rocket.Chat/programs/server/npm/node_modules/imap/lib/Parser.js:82: 15) 在 TLSSocket.emit (events.js:314:20) 的 TLSSocket.Parser.cbReadable (/opt/Rocket.Chat/programs/server/npm/node_modules/imap/lib/Parser.js:53:12) TLSSocket.EventEmitter.emit (domain.js:483: