第1章 API入門
1.1 Web APIとは何か?
まずAPIとは、コンピュータシステムとやり取りをする方法を定義したもの。
APIの総称はApplication Programming Interface。
ほとんどのシステムは独立して動いているわけではないので、至るところにAPIが存在する。
Web APIとは、ネットワーク上に公開され、様々な人がリモートで使用することを目的として作られたAPIを指す。
Web APIで最も興味深い点は、APIの開発者側がコントロールできることが非常に多い一方で、APIの利用者側にはコントロールできることが比較的少ないこと。
これは、利用者がデメリットを感じることあるかも知れないが、開発者にとってはメリットであることがほとんど。
なぜなら開発者がAPIを完全にコントロールし続けることができるため。
1.2 APIはなぜ重要なのか?
近年はコンピュータによる自動化が注目を浴びている。
APIはコンピュータ用のインターフェースなので、コンピュータにとって使いやすい。
また別々のAPIを組み合わせることで、遥かに大きな斬新なAPIを作ることができる。
1.3 リソース指向APIとは?
API設計には様々なスタイルがある。
RPC(リモートプロシージャーコール)指向API。
これは実行される処理、つまり何を「行う」か重点が置かれている。
例えばpredictWeather(postalCode=...)のように、とある地域の天気を取得するWeb APIが予め用意しているメソッド。
ただ、PRC指向はステートレスな機能との相性は良いが、ステートフルな機能との相性は悪い。
その問題を解決するのが、リソース指向API。
リソース指向APIは、標準化されたメソッド(限定されたPRC)とリソースを組み合わせてAPI設計をする方法。
table:標準
PRC 説明
Create<Resource>() 新しい<Resource>を作成する
Get<Resource>() 特定の<Resource>に関する情報を取得する
List<Resource>() 既存のすべての<Resource>の一覧を表示する
Delete<Resource>() 既存の<Resource>を削除する
Update<Resource>() 既存の<Resource>を更新する