问题标签 [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.
ios - 如何使用 Moya Swift 的多部分请求上传图像?
我正在使用 Moya 10.0.1,当我尝试将图像上传到服务器时遇到问题。
我确实遵循了分段上传示例,这是我的设置代码:
但是,当我提出请求时,我收到了 MoyaError:
我不知道我做错了什么,我也不知道 statusCode 500 是什么?有谁知道为什么?
此外,当我使用相同的设置(url、参数...)向 Alamofire 发出请求时,一切正常:
ios - Moya 请求未针对一个提供商启动,但适用于另一个提供商
我继承了一个使用Moya的RxSwift项目。我的任务是将请求从一个后端移动到另一个后端。两个后端的s 设置都很好,因为它们在其他地方被广泛使用。TargetType
原始请求如下所示:
这返回就好了,我得到了数据。
我的新请求完全相同,但唯一的区别是提供者和请求使用的是第二个TargetType
。对于这个,请求永远不会发生(与查尔斯确认)。我已经检查过了TargetType
,它看起来很好,执行非 Rx Moya 请求工作正常,我订阅它的 Rx 请求也是如此。
为什么使用 flatMapLatest 不起作用?
我是 Rx 的新手,对 Moya 也很陌生,因此感谢您提供任何帮助。
编辑:第一个提供者的调试消息:
第二:
没有其他的
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
没有任何编码帮助我产生预期的结果。
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外部的这种机制的想法......
swift - 结合 flatMap/Scan 携带中间结果
我经常发现我用 flatmap 链接多个 http 请求,但有时我需要将结果比下一个 observable 更远。我该怎么做呢?
外汇:
这不是真实的例子,所以不要陷入语义。
swift - 如何使用 Moya 框架重试请求
我正在尝试集成 Moya,它被发现是设计网络层的一个很好的框架。我被困在如何重试网络请求。当我们收到错误时,是否可以从 Moya 提供程序获取请求变量?请注意,我正在寻找快速而不是 Rxswift 的答案
swift - Moya - 使用 NSOperation 链式请求
我有几个需要链接的请求。我可以这样做
但我想使用 NSOperation 链接它们。
我怎样才能做到这一点 ?
ios - 更新 Moya/RxSwift 中断了我的网络调用
将我的 iOS 应用程序从 Moya 8 更新到 11,并且我在网络实用程序类中有以下函数,该函数被调用以从服务器获取数据并将其映射以供其他类使用:
随着更新,RxMoyaProvider
被替换为MoyaProvider
,而不是你应该用来使用.rx
扩展RxSwift
。现在返回 aSingle
而不是Observable
so 为了避免我还需要插入的编译器错误asObservable()
但是该flatMap
部分根本没有被调用,我的网络调用不再起作用。如果我在没有 RxSwift 的情况下执行此操作,只需打开结果,它就可以正常工作(但这不适合我当前的设置),所以我知道网络调用和自定义TargetType
服务的更新都正确完成。
- 我怎样才能让它再次工作,(理想情况下不完全改变整个设置,和
- (以获得额外的信用)我如何充分利用更新的设置
Single
而不是Observable
(因为我假设通过使用asObservable
我只是错过了有用的功能/更清洁的代码)
ios - Swift 将数据映射到 [String: Any]
我想将数据类型转换为 [String: Any],但 JSONSerialization 告诉我:
无法强制解开非可选类型“数据”的值
如果我删除“!” 从encodedJson,然后消息发生:
可选类型 '[String : Any]?' 的值 未拆封;你的意思是用'!' 或者 '?'?
如果我删除“?” 从任何?,然后我使用json而不初始化它,当然
不知道如何解决这个问题(新的 swift 编码器)
希望这不是一个愚蠢的问题