🎃

REST?RESTful? 今理解していることをアウトプットしてみる

2023/07/05に公開

今日のアウトプットはRESTについて。
RESTは、"Representational State Transfer(リプレゼンテイショナル・ステート・トランスファー)"の略です。文字面だけ見てもなんのこっちゃ?です。
ですがRESTの4原則を知れば、「あ、RailsはRESTに則ったWebシステムを作れるフレームワークだな」ということがわかります。

RESTの4原則

①統一インターフェース

統一インターフェイスは、情報をやり取りする方法をあらかじめ定義しておくことです。
例えば、取得・登録・更新・削除は、HTTPメソッドのGET・POST・PUT(PATCH)・DELETEにすることが、統一インターフェイスにあたります。

②アドレス可能性

アドレス可能性とは、全ての情報(リソース)が一意のURI(Uniform Resource Identifier)を持つことを指します。

③接続性

接続性とは、ある情報に別の情報へのリンクを埋め込むことができることです。リンクを通じて別個の情報への接続を可能にします。

③ステートレス性

ステートレス性については以前の記事でも少し触れました。サーバーはクライアントの状態を保持せず、やり取りが1回で完結する状態をステートレスといいます。

RESTfulとは?

上記のようなRESTの原則や考え方に則って実装されたものをRESTfulと称します。
私たちが普段使っているWebサービス(google, Twitter, などなど)はRESTfulなWebサービスですし、RESTful API(またはREST APIとも)はgoogle map APIなどのRESTの設計思想に則って開発されたAPIです。
RESTの構成やルールを守ることで、シンプルで相互連携しやすいWebサービスを実現することができます。

参考

(リンク無し)
テックキャンプ カリキュラム:Webアーキテクチャ〜サービスの設計思想を学ぼう〜

https://tech.012grp.co.jp/entry/rest_api_basics

Discussion