【えーぴーあい】
API とは?
💡 アプリとアプリをつなぐ「注文窓口」
📌 このページのポイント
- アプリやサービス同士が情報をやりとりするための接続口
- 「こう頼めばこう返ってくる」というルールが決まっている
- 天気アプリが気象サービスのAPIを使って情報を取得するのが典型例
- 現代のウェブサービスはAPIを組み合わせて作られることが多い
APIって何?よく聞くんだけど。
レストランで例えると分かりやすいよ。お客さん(アプリ)がウェイター(API)に注文して、厨房(サービス・データベース)から料理(データ)を受け取る感じ。お客さんは厨房の中を知らなくてもOKで、ウェイターに頼むだけで料理が来るよね。
具体的にはどんな場面で使われてるの?
スマホの天気アプリを思い浮かべてみて。あのアプリは自分で気象データを持っているわけじゃなくて、気象サービスのAPIに「今日の東京の天気を教えて」とリクエストして、受け取ったデータを画面に表示しているんだよ。
APIって自分で作ることもできるの?
もちろん!自分のサービスを外から使えるようにしたいとき、APIを作るんだ。「GET /users/1 を呼んだらユーザー情報を返す」みたいなルールを決めて公開するよ。
GETとかPOSTとか聞くけど、何回呼んでも同じ結果になるやつとそうじゃないやつがあるって本当?
実はベテランエンジニアでも意外と説明できない話で、「冪等性」という概念なんだ。何度実行しても結果が同じなら「冪等である」って言うんだ。GETは何度呼んでも同じデータを返すし、DELETEも「すでに消えてる」なら2回目以降も結果は変わらない。でもPOSTは呼ぶたびに新しいデータを作るから冪等じゃない。システムが途中で止まったとき「もう一度リクエストを送っていいか?」を判断する上でとても重要な概念なんだけど、ベテランエンジニアでも「DELETEが冪等って本当に?」と議論になることがあるくらい、ちゃんと理解している人が少ない話なんだよ。
まとめ:ざっくりこれだけ覚えればOK!
「API」って出てきたら「アプリ同士が決まったルールで情報をやりとりする窓口のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「API(Application Programming Interface)」 = アプリケーション・プログラミング・インターフェース
💬 Interfaceは「接点・窓口」という意味。アプリケーションをプログラムで操作するための接点、という意味だよ