インポート三者
ポッド'モヤ/ RxSwift'、 '〜> 11.0' ポッド'SwiftyJSON'、 '〜> 4.0'
プロファイル
UIKitのインポート インポートモヤ インポートSwiftyJSON インポートRxSwift //分類要求 パブリック列挙{NetToolの ケース禅 ケースUSERPROFILE(文字列) } // MARK: - GET要求https://api.github.com/zen HTTPS://api.github。 COM /ユーザ/ ashfurrow ////要求された構成 の拡張のNetTool:Moya.TargetType { サーバのアドレス// パブリックベースURLのVAR:URL { URLを返す!(文字列: "https://api.github.com") } VAR parameterEncoding:ParameterEncoding { リターンJSONEncoding.default } //パス要求 パブリックパスVAR:文字列{ スイッチのセルフ{ ケース.zen: リターン"/禅" ケース.userProfile(LET名): リターン"/ユーザ/ \(名)" } } //メソッドは、要求された メソッドプロパティpublic var:Moya.Method { リターンに.getは } //これは、ユニットテストで行われますデータは、管理していない データ:公共れるsampleDataするvar { リターン"試験データ" .DATA(使用:.UTF8を)! } タスクが時間//要求 :Moya.Taskプロパティpublic varタスク{ スイッチセルフ{ デフォルト: リターン.requestPlainを } } / /ヘッド構成要求 パブリックVARヘッダー:[文字列:文字列] {? リターンゼロ } }
使い方は簡単、三人の者、完全な分析をインポートすることをお勧めJSONパーサーです
プライベートレット処分= DisposeBag() のviewDidLoad(){funcをオーバーライド super.viewDidLoad() プロバイダ= MoyaProvider <のNetTool>(せ) provider.rx.request(.userProfile( "ashfurrow")){サブスクライブします。 (イベント) - >ボイドで 印刷( "************* \(イベント)") スイッチイベント{ ケース.success(応答をしましょう): 印刷( "?????") {ない 情報=試してみましょうresponse.mapJSON()//返回的数据解析成JSON 印刷(情報) }キャッチ{ } ブレーク デフォルト: 休憩 } }(で:処分).disposed }