网络抽象框架
功能特点
安装
CocoaPods
对于Buya,在Podfile中使用以下配置:
pod 'RxSwift', '~> 4.5'
pod 'RxCocoa', '~> 4.5'
pod 'Buya', '~> 1.0'
然后运行pod install
。
在任何你想使用 Buya 的文件中,别忘了用 import Buya
导入框架。
使用方法
使用 Buya 非常简单。你可以像这样访问一个 API:
authorizationProvider
.request(Authorization.getData)
.map(YourCodableStruct.self)
.subscribe(
onSuccess: { (data) in
/// Doing something with data
},
onError: { (error) in
print(error.localizedDescription)
}
)
.disposed(by: self.disposeBag)
要这样做,你必须实现以下内容:
typealias AuthorizationProvider = Buya.Provider<Authorization>
enum Authorization {
/// Authorization
case authorize
/// Return data
case getData
}
extension Authorization: EndpointType, Buya.RefreshTokenApply {
var path: String {
switch self {
case Authorization.authorize:
return "/authorize"
case Authorization.getData:
return "/getData"
}
}
var requestType: RequestType {
switch self {
case Authorization.authorize:
return RequestType.post
case Authorization.getData:
return RequestType.get
}
}
var requestInfo: RequestInfo {
switch self {
case let Authorization.authorize(login, password):
let query = [
"login" : login,
"password": password
]
return RequestInfo.query(parameters: query)
case Authorization.getData:
return RequestInfo.none
}
}
var headers: [String : String]? {
return [
"Content-Type": "application/json",
"Accept": "application/json"
]
}
var refreshTokenApply: Bool {
switch self {
case Authorization.getData: return true
default:
return false
}
}
}
许可证
RStorage 在 MIT 许可证下发布。更多信息请见 LICENSE。