• Swift网络封装库Moya中文手册之Plugins


    Plugins

    Moya plugins用于反映请求的发起或接收。Plugins定义为 PluginType 属性,可以在请求准备发起和接收到返回数据时回调。

    Built in plugins

    Moya有一些共通的默认plugins:安全认证(Authentication),网络请求进度管理(Network Activity Indicator),以及日志(Logging)。

    Authentication

    authentication plugin允许用户给每个请求指定可选的 NSURLCredential。在请求接收到时没有活动。

    这个plugin可以在 Source/Plugins/CredentialsPlugin.swift 找到。

    Network Activity Indicator

    iOS的网络活动通常都在请求时有一个进度指示器,请求结束时移除。这个plugin在请求开始和结束时添加回调,可以记录进程中的请求数量,相应的显示/隐藏network activity indicator。

    这个plugin可以在 Source/Plugins/NetworkActivityPlugin.swift 找到。

    Logging

    开发过程在在控制台输出日志是很有用的。这可以是请求发送和接收时的任何东西,可以打印完整的headers,method,request body。

    这个plugin是提供的plugins中最复杂的,可以根据需求进行配置来满足app的不同编译类型。在初始化这个plugin时, 你可以选择打印命令,并且为输出数据提供函数 (这在你使用自己的log库代替print 时很有用),以及在打印前格式化数据 (返回值默认使用 NSUTF8StringEncoding 转换成字符串,但如果你想转换成JSON,可以传一个格式化函数,参考 in Demo/Demo/GitHubAPI.swift 里现成的 JSONResponseDataFormatter)

    这个plugin可以在 Source/Plugins/NetworkLoggerPlugin.swift 找到。

    Custom plugins

    这里有新建一个plugin的示例:docs/Examples/CustomPlugin.md

    转载请注明出处http://www.cnblogs.com/liuliuliu/p/5627891.html,并注明转载。

    原文链接
    翻译: bibibi_liuliu
    联系方式: 395985239@qq.com

  • 相关阅读:
    nginx学习(十):nginx搭建2台tomcat集群
    IOT设备SmartConfig实现
    AIDL原理分析
    MySQL升级-CentOS6.8
    CentOS更新yum源
    .net core微服务通信——gRPC(下)
    .net core微服务通信——gRPC(上)
    实时web应用方案——SignalR(.net core)
    redis常见Bug及雪崩、穿透、击穿解析
    asp.net core托管到windows服务
  • 原文地址:https://www.cnblogs.com/liuliuliu/p/5627891.html
Copyright © 2020-2023  润新知