问题标签 [moya]

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 回答
11069 浏览

ios - 如何使用 Moya Swift 的多部分请求上传图像?

我正在使用 Moya 10.0.1,当我尝试将图像上传到服务器时遇到问题。

我确实遵循了分段上传示例,这是我的设置代码:

但是,当我提出请求时,我收到了 MoyaError:

在此处输入图像描述

我不知道我做错了什么,我也不知道 statusCode 500 是什么?有谁知道为什么?

此外,当我使用相同的设置(url、参数...)向 Alamofire 发出请求时,一切正常:

0 投票
2 回答
1047 浏览

ios - Moya 请求未针对一个提供商启动,但适用于另一个提供商

我继承了一个使用Moya的RxSwift项目。我的任务是将请求从一个后端移动到另一个后端。两个后端的s 设置都很好,因为它们在其他地方被广泛使用。TargetType

原始请求如下所示:

这返回就好了,我得到了数据。

我的新请求完全相同,但唯一的区别是提供者和请求使用的是第二个TargetType。对于这个,请求永远不会发生(与查尔斯确认)。我已经检查过了TargetType,它看起来很好,执行非 Rx Moya 请求工作正常,我订阅它的 Rx 请求也是如此。

为什么使用 flatMapLatest 不起作用?

我是 Rx 的新手,对 Moya 也很陌生,因此感谢您提供任何帮助。

编辑:第一个提供者的调试消息:

第二:

没有其他的

0 投票
2 回答
2207 浏览

ios - 没有 url 编码的 Moya Alamofire 请求

如何使用 Moya 使用 get-API(具有以下请求结构)?

http://some.environment.com/some/api/some/contacts/81193?types=["details", "permissions"]

这是我尝试过的。

上面的代码生成以下 URL。

http://some.environment.com/some/api/some/contacts/81193?types%5B%5D=details&types%5B%5D=permissions

我已经尝试过以下编码

  • URLEncoding.queryString
  • URLEncoding.default
  • URLEncoding.httpBody
  • JSONEncoding.default
  • JSONEncoding.prettyPrinted

没有任何编码帮助我产生预期的结果。

0 投票
1 回答
819 浏览

swift - 带有 Moya 请求的 RxSwift 顺序 flatMap

我目前有以下代码

基本上,我需要确保每个ContainingEntity的itemEntity都有一个名称,如果没有,请向 Moya 请求它。

但我正面临来自这两种打印的以下类型的输出:

  • 需要获取项目 #1 的名称
  • 需要获取项目 #2 的名称
  • 需要获取项目 #3 的名称
  • 获取的项目名称:Name1
  • 获取的项目名称:Name2
  • 获取的项目名称:Name3

这意味着我的 concatMap 中的操作是并行执行的,这是我不想要的,因为请求冗余和一些我没有在这里显示的缓存系统:我可以有 30 次相同的项目 ID,我不想请求它30 次。

我期待的是:

  • 需要获取项目 #1 的名称
  • 获取的项目名称:Name1
  • 需要获取项目 #2 的名称

  • 获取的项目名称:Name2

  • 需要获取项目 #3 的名称
  • 获取的项目名称:Name3

我该如何解决这个问题?非常感谢您的帮助。

更新:

我现在使用某种简单的缓冲区,它保存需要更新的ItemEntities并将这些项目分配给具有相同项目标识符的下一个ContainingEntities 。这可以防止 Moya 多次执行相同的请求。

它工作得很好,但我不太喜欢RX外部的这种机制的想法......

0 投票
1 回答
368 浏览

swift - 结合 flatMap/Scan 携带中间结果

我经常发现我用 flatmap 链接多个 http 请求,但有时我需要将结果比下一个 observable 更远。我该怎么做呢?

外汇:

这不是真实的例子,所以不要陷入语义。

0 投票
3 回答
2777 浏览

ios - Moya - 如何启用样本数据?

我开始 为 Netwroking学习Moya

实施过程中需要TargetType

有没有办法不为每个端点提供样本数据

而且,我找不到如何启用/禁用示例数据的方法。

我该怎么做?

回答

0 投票
1 回答
1524 浏览

swift - 如何使用 Moya 框架重试请求

我正在尝试集成 Moya,它被发现是设计网络层的一个很好的框架。我被困在如何重试网络请求。当我们收到错误时,是否可以从 Moya 提供程序获取请求变量?请注意,我正在寻找快速而不是 Rxswift 的答案

0 投票
1 回答
469 浏览

swift - Moya - 使用 NSOperation 链式请求

我有几个需要链接的请求。我可以这样做

但我想使用 NSOperation 链接它们。

我怎样才能做到这一点 ?

0 投票
1 回答
948 浏览

ios - 更新 Moya/RxSwift 中断了我的网络调用

将我的 iOS 应用程序从 Moya 8 更新到 11,并且我在网络实用程序类中有以下函数,该函数被调用以从服务器获取数据并将其映射以供其他类使用:

随着更新,RxMoyaProvider被替换为MoyaProvider,而不是你应该用来使用.rx扩展RxSwift。现在返回 aSingle而不是Observableso 为了避免我还需要插入的编译器错误asObservable()

但是该flatMap部分根本没有被调用,我的网络调用不再起作用。如果我在没有 RxSwift 的情况下执行此操作,只需打开结果,它就可以正常工作(但这不适合我当前的设置),所以我知道网络调用和自定义TargetType服务的更新都正确完成。

  1. 我怎样才能让它再次工作,(理想情况下不完全改变整个设置,和
  2. (以获得额外的信用)我如何充分利用更新的设置Single而不是Observable(因为我假设通过使用asObservable我只是错过了有用的功能/更清洁的代码)
0 投票
2 回答
3187 浏览

ios - Swift 将数据映射到 [String: Any]

我想将数据类型转换为 [String: Any],但 JSONSerialization 告诉我:

无法强制解开非可选类型“数据”的值

如果我删除“!” 从encodedJson,然后消息发生:

可选类型 '[String : Any]?' 的值 未拆封;你的意思是用'!' 或者 '?'?

如果我删除“?” 从任何?,然后我使用json而不初始化它,当然

不知道如何解决这个问题(新的 swift 编码器)

希望这不是一个愚蠢的问题