BaseNetworkKit
BaseNetworkKit 是在Swift中创建您的网络层的最简单方式。
❗️ 要求
- iOS 9.3+
- Swift 5.0+
⚒ 安装
Swift Package Manager
BaseNetworkKit 可通过 SPM 获得支持。要安装,请按照以下步骤操作
Open Xcode project > File > Swift Packages > Add Package Dependecy
之后,将URL放在字段中: https://github.com/thejohnlima/BaseNetworkKit.git
CocoaPods
BaseNetworkKit 可通过 CocoaPods 获取。要安装,只需将以下行添加到您的Podfile,然后运行 pod install
pod 'BaseNetworkKit'
🎓 如何使用
将库导入到您的网络层
import BaseNetworkKit
设置请求
enum RequesterAPI {
// Body can be a model object conform to NKCodable
case listOfItems(Body)
}
extension RequesterAPI: NKFlowTarget {
// Set your api
var baseURL: URL {
return URL(stringValue: "https://your.api")
}
// Set your endpoints
var path: String {
switch self {
case .listOfItems:
return "endpoint1"
}
}
// Set http methods
var method: NKHTTPMethods {
return .get
}
// Set headers if needed
var headers: NKCommon.HTTPHeader? {
return [
"key1": "value2",
"key2": "value2"
]
}
// Here you can set the tasks, like parameters
var task: NKTask {
switch self {
case .listOfItems(let body):
guard let params = body.dictionary(), !params.isEmpty else {
return .requestPlain
}
return .requestParameters(params, encoding: .queryString)
}
}
// You want to see the request logs, set the environment to develop
var environment: NKEnvironment {
return .develop
}
}
然后,创建一个请求函数
class Service: NKBaseService<RequesterAPI> {
func fetchItems(page: Int, limit: Int, completion: @escaping NKCommon.ResultType<Model>) {
let requestModel = ModelRequest(offset: "\(page)", limit: "\(limit)")
fetch(.listOfItems(requestModel), dataType: Model.self, completion: completion)
}
}
如果您需要更多示例,请打开 示例项目
。
🙋🏻 Communication
- 如果您发现了bug,请提交一个issue。
- 如果您有功能请求,请提交一个issue。
- 如果您想贡献,请提交一个pull request. 👨🏻💻
📜 许可
BaseNetworkKit 采用 MIT 许可证。有关更多信息,请参阅LICENSE 文件。