駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

REST入門

REST ・・・

REST(Representational State Transfer)の原則に基づいて設計されたAPIのことです。

REST APIまたはRESTful API とも呼ばれています。

Webシステムを外部から利用するためのAPIであるので、REST APIはWeb APIの1つとも言われています。

REST APIでは、HTTPで定義するGET、POST、PUT、DELETEなどのリクエストでデ

ータを操作します。

※ APIApplication Programming Interface)とは、ソフトウェア同士が互いに情報をやりとりする

のに使用するインターフェースの仕様のことです。

 

Wikipediaも参照してみてください

ja.wikipedia.org

実際にWikipediaを見ても理解するのが難しいと思います。(自分もまだ完全に理解していません......)

その中で一つ重要なものがあります。

リソースを一意に識別する「汎用的な構文」」という原則があります。

RESTfulなシステムでは全てのリソース(情報)はURI(Uniform Resource Identifier)で

表現されるユニークなアドレスを持ちます。

つまり、リソースにアクセスする一定のURLのパターンがあり、それとHTTPメソッドを組み合わせてルーティングを構成するということです。

記述してみないとわからないことも多いので次回以降でルーティングについては深掘ります。

そして、RESTの主な考え方はサーバーサイドのデータをCRUD可能なリソースとして扱うことになります。

 

ここでCRUDについて説明します。

CRUD・・・自身のリソースに対して作成、更新、削除などの動作のこと

Create・・・GET /POST:作成

Read・・・・GET:読み取り

Updata・・・PUT /PATCH:更新

Delete・・・DELETE:削除

 

また、送信側デバイスと受信側デバイスとでは、REST API を通してデータのやり取りが

行われますが、受信データを正常に処理するためには、汎用的なデータ形式に変換し

通信を行う必要があります。

リソースを表現するそのデータ形式には色々ありますが、HTMLやテキストだけでなく

て、例えばJSONXMLYAMLなどがあります。