如何在映射之前修改 Moya 响应?

Posted

技术标签:

【中文标题】如何在映射之前修改 Moya 响应?【英文标题】:How to modify Moya response before its mapping? 【发布时间】:2018-12-11 13:55:31 【问题描述】:

我可以使用Moya Plugin的func process(_ result: Result<Moya.Response, MoyaError>, target: TargetType) -> Result<Moya.Response, MoyaError>方法修改Moya响应中的数据吗? 我需要将数据翻译成字典,添加一个字段,然后在映射之前翻译回数据。 谢谢!

【问题讨论】:

【参考方案1】:

是的,这将是首选的方式。 另一种选择是覆盖 MoyaProvider 子类中的请求方法并拦截完成块。

您需要读取和修改您的数据,然后将其发回,如下所示: let modifiedResponse = Response(statusCode: originalResponse.statusCode, data: modifiedData) return .success(modifiedResponse)

【讨论】:

以上是关于如何在映射之前修改 Moya 响应?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Rx 编程 (Moya) 将 JSON 响应映射到对象

使用 Rx 编程 Moya 将 JSON 响应映射到对象

如何在不发送请求的情况下拦截 Moya 请求并返回失败响应

如何向 Moya.Response JSON 添加一个字段,该字段不在来自 http 响应的真实有效负载中

理解 Realm、Moya 和 ObjectMapper

如何从 Moya 框架中禁用 Moya_Logger