问题标签 [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 投票
1 回答
614 浏览

ios - 如何使用 moya 重启网络请求,rxswift

我想处理每个请求,如果请求的响应与条件不匹配,则启动一个新请求并获取响应。如何重新启动旧请求

这是我现在的代码

0 投票
1 回答
1093 浏览

ios - 在 Netfox 和 Moya 中记录 HTTPBody

我目前正在将Moya用于我的 iOS 项目。我尝试使用Netfox记录我的 HTTP 请求。

由于 Moya 是 Alamofire 的封装,Alamofire.SessionManager我最终NFXProtocolURLSessionConfiguration. protocolClasses我成功收到了请求和响应的响应日志和标头,但总是错过请求正文。

我从 2015 年开始在 Netfox 上偶然发现了这个修复程序,但我不知道如何将它与 Moya 一起使用。你们中有人知道如何实施吗?

提前致谢!

0 投票
1 回答
447 浏览

ios - 在使用 RxSwift 和 mvvm 发出 moya 请求时添加一个微调器,并在用户收到响应时将其关闭

我有一个应用程序,我正在尝试使用 MVVM 实现 RxSwift。

我有 SignInViewModel ,我在其中进行验证,并且正在使用我正在收听的其余响应布尔值更新可观察的登录。

在控制器类中,只要验证通过,登录按钮就会启用。

以类似的方式,我希望能够在单击按钮时启动微调器,并在用户收到响应时关闭。

当我尝试从控制器类中的视图模型中收听 loginObservable 时。它没有命中绑定块。

我无法弄清楚问题所在。

任何帮助将不胜感激

以下是我的 SignInViewModel

以下是 moyaRequest 类

以下是我的 RestService 课程

}

我正在尝试在控制器类中绑定视图模型。

0 投票
1 回答
528 浏览

ios - 使用 mvvm 模型的 RxMoya 请求总是在observer.onError(error) 中崩溃

以下是我的注册代码

以下是视图中的绑定

当有一个成功的响应时,它的工作正常。

但是,当请求超时或我收到 200 以外的任何其他状态代码时,我收到以下错误“fatalError(lastMessage)”并且应用程序崩溃。

当我在 case .error 中将observer.onError(error) 替换为observer.onNext(response) 时,它适用于200 以外的响应代码,但在请求超时时再次崩溃。

我已经结合绑定到 tableView (Moya, RxSwift, RxCocoa) 完成了这个链接处理网络错误

谁能帮我解决问题。我对 RxSwift 完全陌生。任何帮助将不胜感激。谢谢

0 投票
0 回答
381 浏览

ios - 如何在 MVVM 模型中处理视图控制器中的错误

以下是我发出请求并将其绑定到 UI 元素的代码

在我看来,我正在做以下事情

每当我点击错误块时,应用程序就会崩溃。它说绑定错误。我无法将错误绑定到 UI 元素。

Rxswift 绑定中的错误是如何处理的。如果我从服务器收到 nil 响应,我该如何处理。

任何帮助将不胜感激 。谢谢

0 投票
1 回答
534 浏览

swift - RxSwift/Moya - 如果通过函数返回序列将不会启动

我尝试通过 Moya 发起网络请求。

当我按照上述方式进行操作时,一切正常。

但如果我这样做:

然后调用函数:

调试输出表明它已被订阅,但如果我通过函数返回它,它不会启动序列。

0 投票
2 回答
471 浏览

ios - 无法在 swift 中使用 Moya 解析字符串以外的变量

我正在用 Swift 开发一个 iOS 项目。我使用Moya框架进行 API 处理和解析。它完美地工作。但是,当我尝试解析字符串以外的变量时,它会显示错误:

“调用中缺少参数‘转换’的参数”

这是我的映射器类

0 投票
1 回答
1134 浏览

alamofire - 在 RXMoyaProvider 上设置请求超时

我正在将 Moya 与 RxSwift 一起使用,我正在尝试按照建议使用以下代码设置网络调用(API 调用)的请求超时:

在声明您的提供者时包括自定义 Alamofire 管理器

但我收到一条错误消息:使用未解析的标识符“networkActivityClosure”

0 投票
1 回答
1079 浏览

ios - iOS Moya Web Services:拨打一个电话等待所有其他电话完成,然后阻止新电话

在我的应用程序中,我使用 Moya 和 RxSwift 进行 Web 服务调用。这些调用是异步的,可以通过用户交互以及新数据可用时的远程通知来触发。

每个 Web 服务调用都需要在其标头中进行身份验证。当用户更改密码时,更改密码 Web 服务调用会重新生成并返回令牌。

现在,当用户更改密码时,可能会出现远程通知并导致另一个 Web 服务调用。根据服务器负载以及系统如何处理不同的线程,理论上可能会发生调用是在另一个调用检索到新令牌之前但在服务器已经使旧令牌无效之后进行的。结果是 HTTP 401 未经授权的错误。

我想防止这种情况发生,但我不确定最好的方法是什么,或者我的概念是否有错误的想法。

我发现这个页面讨论了锁、互斥体和信号量:https ://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/ThreadSafety/ThreadSafety.html

看来我可能应该像这样使用“读写锁”:

  • 更改密码调用是“作家”
  • 所有其他电话都是“读者”
  • 当调用重新加载数据时,无论是由用户还是由远程通知引起的,读卡器计数都会在锁上增加
  • 当用户更改密码时,锁上的写入器计数会增加,并且阻止新的读取器启动
  • 更改密码调用等待所有其他“读取”调用完成
  • 更改密码调用更改密码,更新令牌,最后减少锁并释放它
  • 暂停的阅读器现在可以继续运行并开始增加阅读器计数并重新加载数据。

到目前为止这是正确的吗?那么下一个大问题是:有没有更好的方法?在我开始更改所有 Web 服务调用之前:在 Moya 或 RxSwift 中是否有内置机制?

0 投票
1 回答
12944 浏览

ios - 如何在 moya 中通过 POST 请求传递 JSON 正文

我正在使用moya 库发出 POST 请求。在 TargetType 中,我看不到任何属性来传递参数 [JSON 正文] 以及 POST 请求。在这里,我附上 TargetType