APIの基本
🔌 APIの基本とAPIとは?
API(エーピーアイ)とは Application Programming Interface の略で、 **アプリケーション同士が情報をやり取りするための「窓口」**のような存在です。
🧩 APIが必要な理由
現代のソフトウェア開発では、すべての機能を1つのアプリ内で作るのではなく、 他のサービスと連携して効率化するのが主流です。 たとえば:
- 天気情報を取得する(→天気API)
- 支払いを行う(→決済API)
- ログインをGoogleアカウントで行う(→OAuth API)
🏗️ APIの種類
1. Web API(HTTP経由)
インターネットを介してアクセスするAPI。 スマホアプリやフロントエンドとサーバのやり取りはここがメイン。
- REST API(代表的、今もっとも広く使われている)
- GraphQL(Facebook発、柔軟なクエリが特徴)
- gRPC(Google発、バイナリ高速通信)
2. ローカルAPI
OSやライブラリ内部でのやり取り。 たとえばWindowsのアプリが「ファイルを開く」処理をするとき、OSに対してAPIを呼び出している。
🧭 APIの構成要素(Web APIを例に)
APIを使うときは、以下の4つを意識することが多いです:
- エンドポイント:アクセスするURL(例:
https://api.example.com/items
) - メソッド:HTTPの種類(例:GET, POST)
- リクエストパラメータ:何を送るか
- レスポンス:サーバから返ってくる結果(JSONなど)
🗺️ エンドポイントとは?
エンドポイントとは「APIへの入り口となるURL」のことです。
見た目は普通のWebアドレス(URL)と似ていますが、「人が見るためのWebページ」ではなく、プログラムがデータをやり取りするための場所です。
【例】
WebサイトのURL(人間が見る用)
→ https://example.com/products.html
APIのエンドポイント(アプリが使う用)
→ https://api.example.com/products
エンドポイントは「この場所にアクセスすればデータを送ったり受け取ったりできますよ」という住所のようなものです。
Webサイトが「ページの入り口」なら、APIのエンドポイントは「データの入り口」と考えるとわかりやすいです。
🧪 具体例で理解するエンドポイント
たとえば、「商品一覧を取得するAPI」があるとします。
GET https://api.shop.com/products
もし個別の商品を取得したい場合:
GET https://api.shop.com/products/123
🧰 補足:エンドポイントとメソッドの組み合わせがAPIの操作を決める
エンドポイント | メソッド | 意味 |
---|---|---|
/products |
GET | 商品一覧を取得 |
/products |
POST | 新しい商品を登録 |
/products/123 |
GET | ID=123の商品を取得 |
/products/123 |
PUT | ID=123の商品情報を更新 |
/products/123 |
DELETE | ID=123の商品を削除 |
このように「URL(エンドポイント)」と「HTTPメソッド(GET, POSTなど)」の組み合わせがAPIの操作内容を決定します。
📡 APIを使う方法(例)
GET /weather?city=Tokyo HTTP/1.1
Host: api.example.com
Authorization: Bearer token123
これに対するレスポンスは、こんな感じになります:
{
"city": "Tokyo",
"temperature": 28,
"condition": "Sunny"
}
🧱 API設計でよく使われる規格
- REST(Representational State Transfer)
- GraphQL
- gRPC
- OpenAPI(旧Swagger): API仕様の自動生成・共有に便利
REST APIについては、設計原則やHTTPメソッドの使い分けなどを別記事で詳しく解説しています。 詳しくは「REST APIの基本」を参考にしてください。