【うぇぶえーぴーあい】

Web API とは?

💡 Web経由で「他のサービスの機能」を呼び出す
📌 このページのポイント
Web API(RESTful通信) クライアント ブラウザ / アプリ JSON リクエスト サーバー REST API JSON レスポンス GET / POST / PUT / DELETE 200 OK / 404 / 500 GET(取得) POST(作成) PUT(更新) DELETE(削除) ※ エンドポイントごとにHTTPメソッドで操作を分ける
Web APIのイメージ
ひよこ ひよこ

普通のAPIとどう違うの?

ペンギン先生 ペンギン先生

APIは「プログラム同士の接続口」という広い概念。Web APIはその中でもHTTP/HTTPSを使ってネットワーク越しにアクセスできるもの。ライブラリAPIは同じプログラム内で呼び出すけど、Web APIはインターネット越しに別のサーバの機能を呼び出せるんだよ

ひよこ ひよこ

身近な例は?

ペンギン先生 ペンギン先生

たくさんあるよ。Googleマップの地図表示、Twitterのツイート取得、Stripeの決済処理、OpenAIChatGPT API、天気予報データの取得、Slackへのメッセージ送信…ほとんどのWebサービスはWeb APIを公開していて、自分のアプリから機能を呼び出せるんだ

ひよこ ひよこ

RESTGraphQLはどう違うの?

ペンギン先生 ペンギン先生

REST APIリソースごとにURLを設計して(/users/123)、HTTPメソッド(GET/POST/PUT/DELETE)で操作する。GraphQLは1つのエンドポイントに対してクエリで「欲しいデータだけ」を指定する。RESTは「メニューから注文」、GraphQLは「バイキングで好きなものを選ぶ」イメージだね

ひよこ ひよこ

セキュリティは大丈夫?

ペンギン先生 ペンギン先生

APIキーの管理(公開リポジトリに漏洩させない)、OAuth2.0による適切な認可、レート制限(大量アクセスの防止)、HTTPS通信の必須化が基本だよ。APIゲートウェイを使えばこれらのセキュリティ機能を一元管理できる。APIセキュリティは侮れない重要テーマだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Web API」って出てきたら「Web経由で使えるプログラム向けの窓口」と思えればだいたいOK!
📖 おまけ:英語の意味
「Web Application Programming Interface」 = WebアプリケーションAPI
💬 Webブラウザが「人間向けの窓口」なら、Web APIは「プログラム向けの窓口」だよ
← 用語集にもどる