SwaggerならAPI定義ファイルからコードを自動生成可能 更新しやすいAPI定義の仕組みづくりで工数削減と品質向上を

モバイルアプリエンジニアの藤田琢磨氏がAndroidカンファレンス「DroidKaigi」にて、Swaggerを用いたAPI定義の工数削減と品質向上方法について提言しています。

このセッションでは、「Swagger Codegen」を用いて、Swaggerで定義したファイルからコードやドキュメントを自動生成することを推奨しています。この手順を採用することで、マッピングオブジェクトの手書きによる人為的ミスの防止や、工数削減といったメリットだけでなく、ドキュメント作成者の意図通りの実装が実現できます。

さらに、「Swagger Codegen」でモックサーバーを作ることもできます。こうして使用しているAPI定義のバージョンとモックサーバーのバージョンを合わせておくと、アプリ開発者はサーバー側の開発速度合わせる必要がなくなり、自分のペースで開発を進めることができます。

藤田氏の所属する株式会社FOLIOでは、これらの機能を用いながら、まずBFF(Backend For Frontend)担当者がアプリデザインを見てAPI定義を作るそうです。

その定義をアプリ開発エンジニアがレビューし、問題点や改善点があればGitHub上などで議論する、という運用方法をとっているとのことです。

藤田氏は上記をふまえて、暗黙知による認識の齟齬や出戻りをなくすため、しっかりとAPIを定義し、API定義と実装を継続的に更新し続ける仕組みを考える事が大切だと話しています。

まだAPI定義管理で消耗してるの?〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜 // Speaker Deck