流れ6の4語目 / 10

API

ネットワーク

「会社のスマホアプリにも、Webサイトと同じお知らせを出したい」という話が出た打ち合わせで

「アプリからDBを直接見るんじゃなくて、APIで連携しよう」
「API」って、何のことだろう…?

API(エーピーアイ)は、ソフトどうしがやりとりするための窓口の決まりです。

「この形で頼めば、この形で返す」という約束で、人ではなくプログラムが使います。

このページで分かること読む 約3分・問題 3問
  • APIは、ソフトどうしがやりとりするための「決まった頼み方」と「決まった返し方」の約束
  • Web APIは、決まったURLにHTTPでリクエストを送ると、データが返ってくるしくみ
  • 頼む側は、相手の中のしくみ(DBの形など)を知らなくてよい

身近な例えで理解する

お金を入れてボタンを押せば、飲み物が出てきます。中で缶がどう運ばれているかは知らなくてかまいません。

  • ボタンとお金の入れ口API(決まった頼み方)
  • 出てくる飲み物返ってくるデータ
  • 中のしくみや在庫DBやプログラムの中身
  • 押せるのは用意されたボタンだけ許された操作だけができる

中の在庫を勝手に取り出せないように、APIを使う側も、用意された頼み方しかできません。

ちょっと確認

Q1先輩のひとこと
先輩「アプリからDBを直接見るんじゃなくて、APIで連携しよう」

その理由として正しいものは?

例えを外して、実際のしくみ

ここからは実際のしくみ
APIはプログラム用の窓口

人はブラウザの画面でボタンを押しますが、APIはプログラムどうしが使う入り口です。Webの世界だけでなく、OSやブラウザの機能を使うための「API」もあります

Web API

決まったURLにHTTPでリクエストを送ると、データが返ってくるものです(→15 HTTP/HTTPS)。データを取ってくるときは GET、データを送って登録するときは POST のように、HTTPのメソッド(頼みごとの種類)を使い分けます。返ってくるデータは、次のページのJSONの形がよく使われます

直接DBを見ない理由

APIを窓口にすると、使う側はDBの形を知らなくてすみます。DBの作りを変えても、APIの約束が同じなら、アプリを直さなくてすみます。出してよいデータ・してよい操作だけを用意できるので、安全にもなります

APIキー

APIを使えるアプリや利用者を限るため、「合言葉」にあたるキーを付けて呼ぶことがあります。キーは他人に見せない、Gitに上げないのが決まりです(→25 アクセスキー・トークン)

このページのまとめ

API
ソフトどうしがやりとりするための、決まった頼み方・返し方
Web API
URLにHTTPでリクエストを送ると、データが返ってくるAPI
GET / POST
データを取ってくる / データを送って登録する
APIキー
APIを使える相手(アプリや利用者)を限るための合言葉

先輩のひとことの意味

先輩「アプリからDBを直接見るんじゃなくて、APIで連携しよう」

「アプリには、お知らせを返す窓口(API)だけを使ってもらおう」という意味です。アプリはDBの中身を知らなくてよく、DBを外に開けずにすみます。Webサイトもアプリも、同じAPIから同じお知らせを受け取れます。

練習問題で確かめる

Q24択

APIの説明として正しいものは?

Q34択

アプリが、お知らせの一覧をWeb APIから「取ってくる」とき、ふつう使うHTTPのメソッドはどれ?

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core