GSNetwork
功能
- 类别,SPM 安装
- OAuth 拦截器
- 等等…
用法
简单的网络组件,使用两个文件实现简单明了的 API 使用。
支持多种数据结构返回,同时确保类型检查。
统一的错误类型和标准错误处理。
依赖于 Alamofire
定义 API 列表
首先,使用一个 GSNetwork 和 GSNetworkConfig 进行初始化。
Network.config(config: GSNetworkConfig.init().then {
$0.host = ""
$0.customHeader = [:]
//..//
})
其次,对于不同模块,需要定义不同的 APIRoute。
enum UserRoute: APIRoute {
case userInfo(id: String)
case upateInfo(user: User)
case logout
case login(username: String, password: String)
var uri: String {
switch self {
case .userInfo(let id): return ""
case .upateInfo(let user): return ""
case .logout: return ""
case .login(let username, let password): return ""
}
}
var parameters: [String : Any] { return [:] }
var method: HTTPMethod {
switch self {
case .userInfo(let id): return .get
case .upateInfo(let user): return .post
case .logout: return .get
case .login(let username, let password): return .get
}
}
var encodeType: HTTPEncodeType { return .json }
func customHost() -> String? { return nil }
}
最后,开始请求,如下所示
UserRoute.logout.start(success: { (rs: APIReturn<Bool>) in
// do something...
})
需求
- iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
- Xcode 10.2+
- Swift 5+
安装
CocoaPods
GSNetwork可以通过CocoaPods获取。安装时,只需在Podfile中添加以下行
pod 'GSNetwork'
作者
[email protected], [email protected]
许可
GSNetwork遵循MIT许可。有关更多信息,请查看LICENSE文件。