Balblair
Balblair 是一个用 Swift 编写的 API 客户端库。
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
。
使用
初始化
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Balblair.defaultConfiguration = Balblair.Configuration(baseUrl: "https://qiita.com/", header: [:])
return true
}
使用
创建响应模型
struct QiitaResult: Mappable {
var title = ""
init?(_ map: Map) {
mapping(map)
}
mutating func mapping(map: Map) {
title <- map["title"]
}
}
创建请求模型
struct QiitaRequest: ApiRequest {
typealias ResultType = [Result]
let method = Balblair.Method.GET
let path = "api/v2/items"
let parameters = NoParamsModel.instance
}
请求
QiitaRequest().response.subscribe(onNext: { print($0) } )
创建自定义配置
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Balblair.defaultConfiguration = Configuration()
return true
}
class Configuration: BalblairConfiguration {
let baseUrl = "https://qiita.com/"
var headerBuilder: BalblairHeaderBuilder = HeaderBuilder()
func apiClientShouldBeginRequest(apiClient: Balblair, method: Balblair.Method, path: String, parameters: [String: AnyObject]?) -> Bool { return true }
func apiClientShouldProgress(apiClient: Balblair, method: Balblair.Method, path: String, parameters: [String: AnyObject]?, progress: NSProgress) -> Bool { return true }
func apiClientShouldSuccess(apiClient: Balblair, method: Balblair.Method, path: String, parameters: [String: AnyObject]?, result: AnyObject?) -> ErrorType? { return nil }
func apiClientShouldFailure(apiClient: Balblair, method: Balblair.Method, path: String, parameters: [String: AnyObject]?, result: AnyObject?, error: ErrorType) -> Bool { return true }
}
class HeaderBuilder: BalblairHeaderBuilder {
func build() -> [String : String] {
return [:]
}
}
安装
Balblair 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod "Balblair"
作者
村田浩治,[email protected]
许可证
Balblair 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。