Moya-SwiftyJSONMapper
使用
示例项目
要运行示例项目,请克隆仓库,然后从 Example 目录运行 pod install
命令。它包含示例代码和单元测试。
模型定义
创建一个实现 Mappable
协议的 Class
或 Struct
。
import Foundation
import Moya_SwiftyJSONMapper
import SwiftyJSON
final class GetResponse : ALSwiftyJSONAble {
let url:URL?
let origin:String
let args:[String: String]?
required init?(jsonData:JSON){
self.url = jsonData["url"].URL
self.origin = jsonData["origin"].stringValue
self.args = jsonData["args"].object as? [String : String]
}
}
1. 不使用 RxSwift 或 ReactiveCocoa
stubbedProvider.request(ExampleAPI.GetObject) { (result) -> () in
switch result {
case let .success(response):
do {
let getResponseObject = try response.map(to: GetResponse.self)
print(getResponseObject)
} catch {
print(error)
}
case let .failure(error):
print(error)
}
}
2. 使用 ReactiveCocoa
stubbedProvider.reactive.request(token: ExampleAPI.GetObject).map(to: GetResponse.self).on(failed: { (error) -> () in
print(error)
}) { (response) -> () in
print(response)
}.start()
3. 使用 RxSwift
let disposeBag = DisposeBag()
stubbedProvider.rx.request(ExampleAPI.GetObject).map(to: GetResponse.self).subscribe(onNext: { (response) -> Void in
print(response)
}, onError: { (error) -> Void in
print(error)
}).addDisposableTo(disposeBag)
安装
CocoaPods
Moya-SwiftyJSONMapper 可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile
pod "Moya-SwiftyJSONMapper"
如果想要在 RxSwift 上使用绑定,请使用子规范。
pod "Moya-SwiftyJSONMapper/RxSwift"
如果想要在 ReactiveCocoa 上使用绑定,请使用另一个子规范。
pod "Moya-SwiftyJSONMapper/ReactiveCocoa"
其他仓库
如果您使用 JASON 进行 JSON 数据解析,请查看 Moya-JASONMapper。
如果您非常热衷于响应式编程,请查看 ALDataRequestView 并轻松处理那些边缘情况!
作者
Antoine van der Lee
邮箱: [email protected]
主页: www.avanderlee.com
Twitter: @twannl
许可协议
Moya-SwiftyJSONMapper遵循MIT许可协议。更多信息请参阅LICENSE文件。