REST APIの紹介

この記事を書いたチーム:frontier

 

REST APIとは

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

RESTRepresentational State Transfer API、あるいはRESTful APIは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。

Webサービスアプリケーション同士の通信を支援する。RESTは理論上、あらゆるプロトコルやデータ形式と互換性がある、多くの場合HTTPを使用しており、JSONJavaScript Object Notation)を使用してデータを転送する。その柔軟性とスピード、そしてシンプルさから、RESTWeb上のデータを取得する際に最もよく使用される選択肢となっている。

 

REST APIの設計

1.セッションなどの状態管理を行わない。やり取りされる情報はそれ自体で完結して解釈することができる

2.情報を操作する命令の体系が予め定義・共有されている。HTTPメソッドの利用: リソースの操作(作成、取得、更新、削除など)を、GETPOSTPUTDELETEといった標準的なHTTPメソッドで行う。

3.すべての情報は汎用的な構文で一意に識別される。(URLURIなど)

4.情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができる。

 

REST APIのメリット

1.シンプルで実装しやすい: 学習コストが比較的低く、Webサービスやアプリケーション間の通信に広く採用されている。

2.拡張性と保守性が高い: クライアントとサーバーが分離されているため、システムの拡張や保守が容易である。

3.汎用性が高い:標準的なHTTPプロトコルを使用するため、さまざまなシステムや言語間で連携しやすい。

4.スケーラビリティが高い: ステートレスな設計のため、アクセスが集中しても対応しやすい構造になっている。

 

RESTAPIの例

RESTな考えでシステムを構築した場合を以下の画像に示す

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス