「OpenAPIって何なのか、イマイチわからない」
「Swaggerとどう違う?」「REST APIとは別物?」
技術用語がいろいろ出てきて混乱しているなら、一度ここで整理しておくと理解がスッと進む。
この記事では、OpenAPIを取り巻く用語を小学生でもわかる言葉で解説する。
Contents
REST APIとは?まずはここから
APIとは、アプリ同士が情報をやりとりするための共通のルール。
レストランでいうと、注文を厨房に伝える伝票のようなもの。
REST APIは、その中でも特にWebでよく使われている方式。
URLを使ってデータを取りにいったり、送ったりする。
例:「GET /users」でユーザー一覧をもらう
APIを使うと、違うシステム同士でもスムーズに情報をやりとりできるようになる。
でも、ここで問題になるのが「そのAPI、どうやって使うの?」という話。
OpenAPIとは?わかりやすく言うと…
OpenAPIは、REST APIの使い方を、わかりやすく書き残すためのルール。
一言でいえば、REST APIの設計図やマニュアル。
たとえば:
- どのURLを使うのか
- どんなデータを送ればいいのか
- どういうデータが返ってくるのか
- 認証が必要なのか、どんなエラーが起こるのか
こういった内容を、人にもコンピューターにも読める形で書いておけるのがOpenAPI。
しかも書き方が決まっているから、いろんなツールでも自動的に読み取れる。
YAMLとは?OpenAPIの中身の書き方
OpenAPIでは、内容をYAMLという形式で書くのが一般的。
YAMLは、人間が読みやすく、パッと見て内容がわかるような書き方ができる言語。
見た目はシンプルで、ルールも難しくない。
プログラミング初心者でも読み書きしやすいという特徴がある。
OpenAPIを書くときには、このYAML形式を使ってAPIの中身を記述する。
Swaggerとは?OpenAPIのツールセット
Swaggerは、もともとOpenAPIの前身のようなプロジェクトだった。
現在では、OpenAPIの仕様を活用するためのツールの総称になっている。
Swaggerにはこんなツールがある:
- Swagger UI:OpenAPIの設計図をWeb上でキレイに見せてくれる
- Swagger Editor:OpenAPIをブラウザ上で書いたり試したりできるツール
- Swagger Codegen:OpenAPIを元にプログラムのひな型を自動で作るツール
つまりSwaggerは、OpenAPIを便利に扱うためのセットアイテムと考えればよい。
REST APIとOpenAPIの関係
REST APIは、通信そのもの。OpenAPIは、その使い方の説明書。
例えば、REST APIが「自動販売機」だとすれば、OpenAPIは「どのボタンを押せば何が出てくるかの一覧表」。
OpenAPIがないと、どのボタンを押したらいいか手探りになる。
OpenAPIがあると、誰が見ても、正しく使えるようになる。
OpenAPIを理解すると何がいいのか?
OpenAPIが読めて書けると、次のようなことができるようになる:
- APIの仕様がすぐ理解できる
- 開発者同士での伝達ミスが減る
- APIドキュメントが自動で作れる
- テスト用のモックAPIがすぐ作れる
- フロントエンドとバックエンドを並行開発できる
実際、Google Cloud、Microsoft Azure、Amazon API Gatewayなどのクラウド系サービスもOpenAPIを標準サポートしている。
つまり、OpenAPIを理解することは、API時代の共通語を習得することに等しい。
API連携、マイクロサービス、SaaS活用、すべてに関わる必須知識になっている。
まとめ
- REST APIは、Webサービス同士の通信の仕組み
- OpenAPIは、その使い方を決める設計図
- Swaggerは、OpenAPIを扱うためのツール群
- YAMLは、その設計図を記述する形式
OpenAPIを理解すれば、API開発や連携の場面での理解力・設計力が大きく伸びる。
「APIはなんとなく使える」から「仕組みが読める・書ける」へ。
その一歩が、確実にあなたの市場価値を高めてくれる。