MoyaResponseHandlerPlugin 0.2.0

MoyaResponseHandlerPlugin 0.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年8月
SwiftSwift 版本3.0
SPM支持 SPM

Levi Bostian 维护。



Moya 响应处理器

快速配置 Moya 插件以处理移动应用的 API 响应。

为什么?

当我在构建移动应用时,这就是我处理 API 网络请求的方式

API 请求成功了吗(HTTP 响应状态码 >=200,<300)?

  • 是的
    • 解析响应为 JSON、字符串、图像等。在我的应用程序中使用响应。

  • 不是
    • 是网络连接问题吗?
    • 是的
      • 向用户显示一个可读的消息,说明他们没有互联网,请求失败,但他们可以尝试再次请求等。

    • 不是
      • 网络请求成功,但服务器返回了状态码 >=300 的响应吗?
      • 是的
        • 让我查看状态码,可能解析响应体,然后向用户返回一个可读的消息,告诉他们关于错误以及如何解决它。

      • 不是
        • 错误是 Moya 错误,如解析响应体错误吗?
        • 是的
          • 按您的意愿处理。我想将这些错误记录下来,因为这很可能是应用程序中的错误。然后,向用户返回一个可读的消息。

        • 不是
          • 错误是未知的。按您的意愿处理。我想将这些错误记录下来,因为这很可能是一个应用程序错误。然后,向用户返回一个可读的消息。

在我构建和维护的所有移动应用程序中,我将这些样板代码复制粘贴到每个应用程序中,并根据我正在构建的应用程序仅对代码进行少量编辑。这些样板代码在多个应用程序之间难以维护,记忆困难,如果我在用例中出错,可能导致错误,而且外观难看。正因为如此,我构建了这个 Moya 插件,以便我为我的每个应用程序都有一个快速、灵活且没有样板代码的解决方案。

如何?

  • 创建一个继承自 MoyaResponseHandler 协议的类。
class MyMoyaResponseHandler: MoyaResponseHandler {
    ...
}
  • 通过向您的 MoyaProvider 提供插件实例来安装插件
MoyaProvider<Target>(plugins: [MoyaResponseHandlerPlugin(handler: MyMoyaResponseHandler)])
  • 像往常一样使用您的 MoyaProvider 来调用您的端点。

安装

MoyaResponseHandlerPlugin 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod "MoyaResponseHandlerPlugin"

作者

Levi Bostian image

许可证

MoyaResponseHandlerPlugin 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。

文档

请在此处查看文档.

开发

文档

插件文档位于 docs 目录中。

文档是通过以下命令使用 jazzy 生成的: jazzy --podspec MoyaResponseHandlerPlugin.podspec(假设 jazzy 已安装。如果没有: gem install jazzy

鸣谢

照片由 Steve RicheyUnsplash 提供