ObjectMapping + Alamofire 通信を行うメソッドをどこからでも使えるように共通化したい
API通信を行う際の処理を共通化しようとしています。
Mappperの箇所でコンパイルエラーが出てしまい、これを修正する方法を教えていただきたいです。
func call(method: Alamofire.Method, url: String, params: [String: AnyObject], res: Mappable) -> Observable<[Any]> {
return Observable.create { observer -> Disposable in
Alamofire.request(method, url, parameters: params)
.responseJSON { response in
log?.debug(response.description)
switch response.result {
case .Success(let value):
guard let result = Mapper<res>().mapArray(value) else {
return
}
observer.on(.Next(result))
observer.on(.Completed)
case .Failure(let error):
observer.on(.Error(error))
}
}
return AnonymousDisposable { }
}
}
↑を↓のように記述したいです。