Web API

読み:うぇぶえーぴーあい / 英語表記:Web API

Webサービスの機能やデータを、ほかのプログラムからHTTPなどのWebの技術を使って呼び出せるようにした窓口(インタフェース)。

イマシルちゃんの解説

Web APIは、Webサービスの機能やデータをプログラムからネットワーク越しに利用するためのインタフェースだよ。
例えば天気アプリなら、知りたい地域を指定して天気のデータを受け取れるんだ。
アプリはサービスが決めた宛先へ、Webで使う通信規則のHTTPなどに従ってリクエストを送るよ。
サービス側はその要求を処理して、結果を決められた形式のデータで返すの。
アプリは受け取ったデータを使って、画面に天気を表示できるんだ。
サービスの内部を自分で作らなくても、その機能をアプリに組み込めるのが便利なところだね。

より深い解説

定義

API(Application Programming Interface)は、あるソフトウェアの機能を、ほかのソフトウェアから利用するための決まりごと(呼び出し方、渡すデータ、返ってくるデータ)である。Web APIは、そのやり取りを、ネットワーク越しにHTTP(HTTPS)で行うものである。

REST API

現在のWeb APIの多くは、RESTの考え方に基づいて設計されている。

考え方内容
資源をURIで表す例:/users/123(利用者123番)
操作をHTTPのメソッドで表すGET(取得)、POST(作成)、PUT(更新)、DELETE(削除)
ステートレスサーバは、リクエストの間で利用者の状態を保持しない。必要な情報は毎回のリクエストに含める
データ形式主にJSON(XMLも使える)

例:天気の情報を取得する場合

GET https://api.example.com/weather?city=Tokyo
→ {"city": "Tokyo", "temperature": 21, "weather": "sunny"}

利用の管理とセキュリティ

仕組み内容
APIキー利用者(アプリケーション)を識別するための文字列。リクエストに含めて送る
OAuth 2.0利用者の許可を得て、アプリケーションに限定した権限(アクセストークン)を与える
利用回数の制限一定時間あたりの呼び出し回数を制限し、過剰な利用やサービス妨害を防ぐ

APIキーやアクセストークンは、パスワードと同様に秘密にする必要がある。Webページのプログラム(JavaScript)やソースコードの公開リポジトリに、そのまま書き込まないように注意する。

Web APIの活用

活用内容
マッシュアップ複数のサービスのAPIを組み合わせて、新しいサービスを作る
システム連携社内のシステムとクラウドサービスのデータをつなぐ
スマートフォンアプリアプリが、サーバのAPIを呼び出してデータを表示する

SOAPとの比較

REST APISOAP
性格設計の考え方厳密なプロトコル
形式JSONなどXML
重さ軽い重い(拡張仕様が豊富)

実際の試験ではここに出る!全2問

ネットワークスペシャリスト

午後Ⅱ
午前Ⅱ

この用語が出てくる記事

↑