SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2025 セッションレポート(AD)

Web開発者必見! 現場で役立つAPI設計のポイントを先人に学ぼう

【14-A-5】現場で役立つAPIデザイン

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Web APIは外部サービス同士の連携だけでなく、システムの内部実装でも広く利用されているが、優れたAPIをデザインするための知見は、十分に共有されているとは言えない。API開発者だけでなく、APIを使いこなす側にとっても、良いAPIとは何かを知ることは重要だ。そこで、Postman株式会社の草薙 昭彦氏が、実際にさまざまなサービスで活用されているガイドラインから抜粋しながら、優れたAPI設計のポイントを紹介する。

  • X ポスト
  • このエントリーをはてなブックマークに追加

API設計の原則と現実のギャップを埋めるには

 まず草薙氏は、API設計に適した開発プロセスについて議論する。多くの現場では、APIを実装しながら設計して、コードのコメントなどをもとに、ツールでOpenAPI形式の仕様書を出力して、補足文を付け足す。そんな流れでAPI開発が進んでいくことが多いのではないだろうか。しかし、このやり方では、仕様やドキュメントと実装が乖離してしまい、将来的には技術的負債になることが多いと、草薙氏は問題提起する。

 そこで草薙氏が勧めるのが、API仕様を先に決めてから開発する、APIファースト開発というアプローチだ。まずAPIで実現したい機能について、API開発者と利用者が、技術・ビジネスの両面から検討し、合意を得る。この合意は、APIコントラクトと呼ばれ、強い拘束力を持つ取り決めだ。APIコントラクトをもとに仕様書を作成し、モックとテストを用いて仮説を検証し、想定どおりに動作するか検証する。そして最新の状況を反映しながら、開発、テスト、実装、ドキュメント作成のイテレーションを繰り返して開発を進めるスタイルだ。

Postman株式会社 テクノロジーエバンジェリスト 草薙 昭彦氏
Postman株式会社 テクノロジーエバンジェリスト 草薙 昭彦氏

 続いて、良いAPI設計が従うべき原則とは何だろうか。草薙氏が勧めるのは、HTTPの標準仕様やRESTの原則に従うことだ。例えば、HTTPには、メソッドやヘッダ、ステータスコードなど、さまざまな規約が存在している。そしてAPIは、対象となるデータをURLで識別する統一インターフェースの使用、クライアントとサーバの分離、ステートレスな動作を行うといったRESTfulな振る舞いをするのが望ましい。これらに従うことで、利用者の学習が容易になり、バグの混入の防止、パフォーマンスの最適化、再利用性の向上など、さまざまなメリットが生じる。またスケーラブルで、Webのパフォーマンスを引き出す実装を、自然に行うことが可能になる。

 しかし現実のAPI設計では、原則だけではうまくいかないケースがつきものだ。多くのAPIで使われている、現実的な実装にも目を向けるべきだと、草薙氏は指摘する。特にポピュラーなサービスのAPI設計には、開発者の試行錯誤や深い議論が反映されている。こうした知見を取り入れることで、より優れたAPIを設計できると、草薙氏は言う。

 そこで草薙氏が紹介したのは、欧州の大手ファッションECサイト Zalandoが公開したRESTful API設計のガイドラインだ。基本的にはRESTの原則に従いつつ、自社のサービスの特性に合わせてルールを決めている好例だと草薙氏は言う。Zalandoの他にも、さまざまな企業が、API設計のガイドラインを公開している。それらを参考にしながら、「自社のビジネスに合わせて、それぞれの現場でAPI設計ガイドラインを決めて、それを守りながら開発を進めるのがおすすめだ」と、草薙氏は言う。

 
 Zalandoが公開したRESTful API設計のガイドラインの概要

 次のページでは、それらのAPI設計ガイドラインの中から、代表的なポイントを抜粋して紹介する。

次のページ
現場で役立つAPI設計のポイント集

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2025 セッションレポート連載記事一覧

もっと読む

この記事の著者

Innerstudio 鍋島 理人(ナベシマ マサト)

 ITライター・イベントプロデューサー・ITコミュニティ運営支援。 Developers Summit (翔泳社)元スタッフ。現在はフリーランスで、複数のITコミュニティの運営支援やDevRel活動の支援、企業ITコンテンツの制作に携わっている。 Twitter:@nabemasat Facebook Web

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

篠部 雅貴(シノベ マサタカ)

 フリーカメラマン 1975年生まれ。 学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。 卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や商品まで幅広く撮影。旅を愛する出張カメラマンとして奮闘中。 Corporate website Portfolio website

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:Postman株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21073 2025/04/03 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング