Moya进阶说明

作者: 柠檬君Air | 来源:发表于2022-03-10 07:33 被阅读0次

    Moya作为Swift中很受欢迎的一款网络框架,它的基础使用方法在网上可以找到很多教程,这里就不再赘述,今天主要想要记录下moya中的一些容易被忽略却又很好用的用法。

    MoyaProvider

    初始化moyaProvider时,我们可以看到初始化方法中有很多可选参数


    image.png

    接下来对每个参数做出解释和常用用法举例

    endpointClosure

    在这个closure存放了一些moya进行网络请求前的一些数据


    image.png

    requestClosure

    可以从endpoint中拿到request请求进行修改
    这个闭包是moya提供给我们对网络请求开始前最后一次机会对请求进行修改,比如设置超时时间(默认是60s),禁用cookie等

    moya请求的实质:target—>endpoint—>NSRequest


    image.png

    stubClosure

    moya提供该闭包可以方便的提供测试。
    如果设置了stubClosure,则moya会在成功或失败的回调中返回sampleData中的数据,例如当我传了stubClosure为MoyaProvider.delayedStub(1),那么当我调用登陆接口后,就会延迟1s返回sampleData中的数据,这在单元测试中相当有用


    image.png
    image.png

    Moya提供了如下三种策略,用于模拟网络请求


    image.png

    manager

    moya并不是网络请求库,它只提供网络请求的桥接,通过manager来设置网络请求库,默认使用的是alamofire。通过该参数可以方便的替换网络请求库

    plugins

    可以通过设置插件的方式为网络请求设置一些额外的功能,防止很多功能杂糅在一起,不方便维护。


    image.png

    实现pluginType可以实现在网络请求前转菊花,请求完成结束转菊花,或者写日志等功能

    若有收获,就点个赞吧

    相关文章

      网友评论

        本文标题:Moya进阶说明

        本文链接:https://www.haomeiwen.com/subject/ohntdrtx.html