前回の【備忘】APIとはでWeb APIの種類として【REST API】と【SOAP API】がある旨を記載しました。
今回はREST APIについて、調べてみたのでアウトプットがてら記載します。
結論
REST APIは、REST(Representational State Transfer)の原則に基づいて設計されたAPIのこと。
Webシステムを外部から利用するためのAPIであり、HTTPで定義するGET、POST、PUT、DELETEなどのリクエストでデータを操作できるもの。
詳細
RESTとは
RESTは、「Representational State Transfer」の略でシンプルなWebシステムの設計思想のことです。
Representational →具象化された
State →状態の
Transfer →転送
ザックリお伝えすると、具体的に状態を定義した情報のやり取りのような意味合いになる。
RESTの4原則とは
RESTには「RESTの4原則」というものがあり、これを満たすものを「RESTfulなシステム」と呼ばれる。
RESTの4原則は以下
1.統一インターフェース
2.アドレス可能性
3.接続性
4.ステートレス性
統一インターフェース
統一インターフェースは、あらかじめ定義・共有された方法でやり取りされること。
例えば、「GET・POST・PUT・DELETE等のHTTPメソッドでやりとりする」や「やり取りするデータはJSON形式にする」といったもの。
アドレス可能性
全ての情報が一意なURI(識別子)を持っていて、提供する情報をURIで表現できること。
このURIはUniformed Resource Identifierの略で、Webの場合は通常URLで与えられる。
接続性
やりとりされる情報にはハイパーリンクを含めることができる、というもの。
1つのリンクから別の情報にリンク(接続)することができて、RESTfulなシステム同士なら円滑に情報連携を行うことが可能
ステートレス性
ステートレス=状態がない
つまり、RESTでは「やりとりが1回ごとに完結する」ということ。
使用例
・ソーシャルメディアAPI: TwitterやFacebookなどのソーシャルメディアプラットフォームは、REST APIを使用してユーザーデータや投稿を取得したり、投稿を行ったりすることが可能
・天気情報API: 多くの気象サービスプロバイダーは、REST APIを通じてリアルタイムの天気情報や予報データを提供している。これらのAPIを使用すると、アプリケーションやウェブサイトで天気情報を表示することが可能。
・マップや地理情報API: Google MapsやMapboxなどのマップサービスは、REST APIを使用して地図データやルート情報を提供。これを使用すると、アプリケーション内で地図を表示したり、経路案内機能を実装したりすることが可能。
・支払いゲートウェイAPI: StripeやPayPalなどの支払いゲートウェイサービスは、REST APIを使用して支払い処理を実施。これを使用すると、アプリケーション内で安全かつスムーズな支払い処理を実装することが可能。
・クラウドストレージAPI: Amazon S3やGoogle Cloud Storageなどのクラウドストレージプロバイダーは、REST APIを使用してファイルのアップロードやダウンロード、ファイルの管理などを行うことが可能。
まとめ
REST API=RESTの4原則に則ったAPIである。