MoyaNC 是对抽象的进一步抽象 (感谢 Moya 🖤🖤🖤),让您无需担心数据映射层,直接使用请求。它使用 Codable 协议进行 JSON 数据映射,您只需遵循此协议并指定类型即可!此外,还可以轻松简单地缓存任何请求。
要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install
。完成一些设置后,使用 MoyaNC 非常简单。您可以像这样访问 API
client = DefaultMoyaNC()
// type 'Test' must be Codable
client.request(.zen) { (result: Result<Test>) in
switch result {
case let .success(test):
// do something with the finished object
case let .failure(error):
// do something with error
}
}
这是一个基本示例。许多 API 请求需要参数。
Moya 提供了以下扩展:
pod 'MoyaNetworkClient/Cache'
添加到 Podfile。pod 'MoyaNetworkClient/Future'
添加到 Podfile。一个使用缓存请求的简单示例
在 API 级别定义缓存
enum TestAPI {
case .zen
}
extension TestAPI: MoyaTargetType, CacheTarget {
var cachePolicy: MoyaCachePolicy {
return .returnCacheDataElseLoad
}
}
在请求级别定义缓存
client = DefaultMoyaNC()
client.request(.zen, cache: .returnCacheDataElseLoad)
这是一个使用 Future 可能实现的复杂逻辑示例
client = DefaultMoyaNC()
// type 'Test' must be Codable
client.request(.zen)
.observeSuccess { (test: Test) in /* do something with the finished object */ }
.observeError { error in /* do something with error */) }
.execute()
对于 MoyaNetworkClient,请在您的 Podfile 中使用以下条目
pod 'MoyaNetworkClient'
然后运行 pod install
。
在任何您想要使用 Moya 的文件中,请不要忘记使用 import MoyaNetworkClient
导入框架。
要使用 Apple 的 Swift 包管理器进行集成,请将以下内容作为依赖项添加到您的 Package.swift
.package(url: "https://github.com/BarredEwe/MoyaNetworkClient.git", .upToNextMajor(from: "1.0.0"))
然后指定 "MoyaNetworkClient"
作为您希望使用 MoyaNetworkClient 的 Target 的依赖项。
MoyaNC 3.0:
var validationType: ValidationType
进行。BarredEwe, barredEwe@gmail.com
MoyaNC 在 MIT 许可证下发布。有关更多信息,请参阅许可证。