【えーぴーあいふぁーすと】

APIファースト とは?

最終更新:
💡 APIを後付けにせず、利用者との約束から考える

APIをシステムの重要な構成要素として優先し、利用者や連携先の要求を踏まえて設計・開発・運用する考え方。仕様を実装より先に合意する進め方が代表例。

📌 このページのポイント
APIを中心に開発する 利用者とAPIの約束を設計・合意 API仕様 操作・データ・エラー Web画面 モバイル 提供側実装 外部サービス 共有仕様を基に開発 モックやコード生成を使う例もある 仕様変更・互換性・実装との一致を確認
仕様を中心に各チームへ展開する配置です。矢印は仕様の共有・利用を示し、実行時の通信ではありません。並行開発を支えますが、仕様と実装の一致を確認する必要があります。
ひよこ ひよこ
どうしてAPIを優先するの?
ペンギン先生 ペンギン先生
Web画面、スマホアプリ、外部サービスなどが、共通のデータや操作を使えるようにするためだよ。APIを一つの画面の都合だけで後付けせず、利用者が何を必要とするかから考えるんだ
ひよこ ひよこ
まず仕様書を書くことと同じ?
ペンギン先生 ペンギン先生
仕様を実装より先に設計・合意するのはAPI design-firstと呼ぶ進め方だよ。APIファーストを支える代表的な方法だけど、APIを優先する方針そのものとは少し範囲が違う。利用者との相談や試作を通じて仕様を見直すこともあるんだ
ひよこ ひよこ
仕様には何を決めるの?
ペンギン先生 ペンギン先生
どんな操作ができるか、入力と出力、エラー、アクセス範囲などを決めるよ。HTTP APIならOpenAPIを使ってYAMLやJSONで記述する方法がある。OpenAPIは仕様を表す標準で、Swaggerなどの道具を使うかどうかとは区別するんだ
ひよこ ひよこ
それで各チームが同時に作れるの?
ペンギン先生 ペンギン先生
共有した仕様を基に、利用側はモックで画面を作り、提供側は実装を進めやすくなるよ。道具によって文書やクライアントコードも生成できる。ただし仕様と実装がずれれば連携は失敗するので、テストや変更の共有も必要なんだ
ひよこ ひよこ
APIを作れば何とでも簡単につながる?
ペンギン先生 ペンギン先生
利用者に合う操作やデータ、権限が用意されているかが大切だよ。APIがあるだけで全ての連携が完成するわけではない。変更で既存の利用側を壊さないよう、互換性や公開範囲も運用中に確認するんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「APIファースト」って出てきたら「APIを後付けにせず、利用者との接点を優先して作る考え方」と思えばだいたいOK!
📖 おまけ:英語の意味
「API First」 = APIを優先する
💬 Firstは最初・優先という意味だよ。APIを開発の中心に置く方針を表し、全画面より必ず先に仕様書を完成させるという一つの手順だけを指すわけではないんだ

参考資料

← 用語集にもどる