如何在映射之前修改 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 响应?的主要内容,如果未能解决你的问题,请参考以下文章