测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2016年3月 |
SPM支持 SPM | ✓ |
依赖于 | |
Alamofire | ~> 3.0 |
Genome | ~> 1.0 |
一个 Alamofire 扩展,它使用 Genome 自动将 JSON 转换为 Swift 对象。
让我们假设我们想要查询 GitHub API 的仓库信息。为了存储检索到的数据,我们可以定义以下简单的数据结构
struct GithubRepository {
var name: String!
var fullName: String!
var description: String!
}
extension GithubRepository: BasicMappable {
mutating func sequence(map: Map) throws {
try name <~> map["name"]
try fullName <~> map["full_name"]
try description <~> map["description"]
}
}
要 获取单个仓库,可以使用以下代码
let url = "https://api.github.com/repos/tablexi/AlamofireGenome"
Alamofire.request(.GET, url).responseObject { response: (Response<GithubRepository, NSError>) in
switch response.result {
case .Success(let repository): // ...
case .Failure(let error): // ...
}
}
要 获取仓库列表,可以使用以下代码
let url = "https://api.github.com/orgs/tablexi/repos"
Alamofire.request(.GET, url).responseArray { response: (Response<[GithubRepository], NSError>) in
switch response.result {
case .Success(let repositories): // ...
case .Failure(let error): // ...
}
}
git clone <repo_url>