Blog株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。2015-09-29Swift2.0で作るAPI通信基盤こんにちは。エンジニアの浅井です。普段はマネーフォワードのiOSアプリ開発を担当しています。弊社では、全社で使用する共通ライブラリの開発を積極的に行っています。今回は、先日正式リリースされたSwift2.0で作成中のAPI通信基盤をご紹介します。APIKitを参考に、下記のライブラリを用いて実装しています。本エントリーではSwift2.0で追加された、ProtocolExtensionを利用しています。プロトコルに実装を定義できるだけでなく、細かく条件指定ができるので、そのプロトコルに準拠したクラスの実装を少なく抑えることができます。typealiasによるジェネリクスを利用することで、タイプセーフな設計になっています。利用側のコード兎にも角にもまずは利用側のコードです。こんなAPIがあったとします。]}こんなときObjectMapperを用いたモデルクラスは以下のように定義するでしょう。}}そしてリクエストオブジェクトは以下のように定義します。}}このResponseTypeが成功時のresultの値の型になります。ライブラリ側のコードAPIの定義Alamofireを用いることで、HTTP通信の処理もすっきりしています。}}ObjectMapper対応ResponseTypeがObjectMapper.Mappalbeに準拠したクラスでであれば、ObjectMapperのマッピング処理を行うよう、ProtocolExtensionで定義します。}}JSONをそのまま利用したい場合はRequestProtocolを準拠したクラスでfromJsonを都度実装してやればよいですし、ProtocolExtensionで拡張していくことで、様々なマッパーに対応させることができるでしょう。最後にマネーフォワードでは、新しい技術も積極的に取り入れていくエンジニアを募集しています。読者になるこのブログについてはてなブログをはじめよう!moneyforwardDevさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。