Bluebonnet 0.4.0

Bluebonnet 0.4.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2015 年 9 月
SPM支持 SPM

KITAGAWA Tatsuya维护。



 
依赖关系
Alamofire= 1.3.1
SwiftTask~> 3.3.0
 

Bluebonnet

Circle CI

Bluebonnet 是一个使用 AlamofireReactKit/SwiftTask 的简单 APIClient。

功能

  • 类型响应
  • 处理为 SwiftTask
  • Swift 1.2

使用方法

要运行示例项目,首先克隆仓库,然后从示例目录运行 pod install

设置客户端

  • 首先,创建一个继承自 Bluebonnet 的 API 类。
  • 然后,创建一个实现了 BluebonnetRequest 的结构体。
  • 在结构体中定义请求。(例如 methodparameters
public class GitHubAPI: Bluebonnet {

    // baseURL for all api
    static let baseURL: NSURL = NSURL(string: "https://api.github.com")!

    /**
    for respective API
    */
    struct GetUserProfile: BluebonnetRequest {
        typealias Response = User
        typealias ErrorResponse = GitHubError
        let userName: String
        let method: HTTPMethod = .GET
        var parameters: [String: AnyObject] = [:]
        var path: String {
            return "users/\(userName.URLEscapedString)"
        }

        init(userName: String) {
            self.userName = userName
        }

        /// it is requred property for converting to request
        var URLRequest: NSURLRequest {
            return Bluebonnet.build(baseURL, path: path, method: method, parameters: parameters)
        }
    }
}

使用客户端

  • 您可以使用如下方式获取任务。
  • .success/.failure 中的响应都是类型。
let task = GitHubAPI.requestTask(GitHubAPI.GetUserProfile(userName: userName))
task
    .progress { (oldProgress, newProgress) in
        print(newProgress.bytesWritten)
        print(newProgress.totalBytesWritten)
        return
    }
    .success { user in // type inference
        print(user.name)
        return
    }
    .failure { (errorResult, isCancelled) -> Void in
        print(errorResult?.error.description)
        print(errorResult?.response?.message
        return
    }

要求

  • Swift 1.2

安装

Bluebonnet 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod "Bluebonnet"

致谢

Bluebonnet 参考 APIKit

作者

KITAGAWA Tatsuya, [email protected]

许可证

Bluebonnet 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。