こんにちは、タイミーデリバリー開発チームの宮城です。
今回は弊社のOpenAPI3ベースのスキーマ駆動開発の運用方法を紹介します。
TL;DR
- 技術スタックは OpenAPI3, Swagger UI, Committee, ActiveModelSerializers
- Committeeを利用してOpenAPI準拠のRequest Specを行う
- OpenAPI3のrequiredキーワードに注意する
背景
タイミーデリバリーでは、RailsによるAPIサーバーと、Web管理画面としてVue.jsによるSPA、ユーザー向けiOSアプリとしてSwiftを採用しています。
1つのモノリスなRailsで利用者別にネームスペースを区切り、それぞれエンドポイントを提供しています。
サーバーサイドとクライアントサイドを分離し並行して開発を進めるためにスキーマ駆動開発を導入しました。スキーマ駆動開発の詳しい説明やメリットについては既に多くの記事が存在するため、ここでは参考にさせていただいた記事の紹介までとさせていただきます。
RubyKaigi 2019でOpenAPI 3について登壇しました - おおたの物置
スキーマ駆動開発のススメ - Studyplus Engineering Blog
この記事では、実際にスキーマ駆動開発を開発フローに導入する際のTipsを記したいと思います。
続きを読む