测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017 年 10 月 |
SwiftSwift 版本 | 3.2 |
SPM支持 SPM | ✓ |
由 xiaoyaogaojian 维护。
Moya 网络请求的 Decodable 映射。
pod 'Moya-Decodable'
# or
pod 'Moya-Decodable/RxSwift'
第一步是有一个符合 Decodable
协议的类 / 结构体
struct User: Decodable {
let id: Int
let name: String
let birthday: Date?
}
如果你已经通过 Moya 设置好了一个请求,你可以在响应上使用 map(to:)
provider
.request(.allUsers) { result in
if case let .Success(response) = result {
do {
let users: [User] = try response.map(to: [User].self)
print("mapped to users: \(users)")
} catch {
print("Error mapping users: \(error)")
}
}
}
如果你正在使用 Moya RxSwift 扩展,有一个 Observable 扩展将简化映射
provider
.request(.allUsers)
.map(to: [User].self)
.observeOn(MainScheduler.instance)
.subscribeNext { users in
self.users = users
self.tableView.reloadData()
}
.disposed(by: disposeBag)
问题和拉取请求欢迎
Moya-Decodable 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。