RESTについて

本日「よちよち.rb」というコミュニティのRESTアーキテクチャについての勉強会がありました。

しかし!!自分はバイト先のシフトのため参加出来ず、すごく残念なので一人勉強会しようと思います!!

 

RESTとは

Representational State Transferの略です。

直訳すると、表示状態の転送です。

RESTは具体的な仕様についてではなく、リソースを扱う考え方について表しています。

URLとHTTPメソッド4つ( GET・POST・PUT・DELETE ) を組み合わせてリソースを扱う考え方です。

 

GET・・・リソースの取得に使われます

POST・・リソースの新規作成に使われます

PUT・・既存のリソースのアップデートに使われます

DELETE・・リソースの削除に使われます

 

 

 

RESTでないものとは

URI と HTTP を正しく使っていないものはRESTではありません。

具体的には、deleteを実行するためのルーティングをGETのHTTPメソッドで実装してしまったり、

updateを行うためのルーティングをPOSTのHTTPメソッドで実装してしまったりするようなものはRESTではありません。

 

 

 

RailsのREST

RailsにおけるRESTとは、コントローラーに含まれる7つのアクション( index・show・new・edit・create・update・destrouy )を、

HTTPメソッド4つのメソッド( GET・POST・PUT・DELETE ) に対応させて扱う考え方です。

 

 

(例) Railsでは、resources :tweets とルーティングの設定をすることで、以下のようにRESTアーキテクチャに基づいた、RESTfulなルーティングを生成してくれます。

 

GET               /tweets(.:format)                   tweets#index

POST            /tweets(.:format)                    tweets#create

GET               /tweets/new(.:format)            tweets#new

GET               /tweets/:id/edit(.:format)        tweets#edit

GET               /tweets/:id(.:format)               tweets#show

PATCH(PUT)  /tweets/:id(.:format)               tweets#update

DELETE         /tweets/:id(.:format)               tweets#destroy

 

 

 

追記

ツイッターで当日のスライドをシェアしてくれていました!!

以下がそのリンクです!!

www.slideshare.net

 

 

Tamarbの方々がまとめてくれた記事もシェアしてくれました!!

 

https://tamarb.esa.io/posts/37

 

https://esa-pages.io/p/sharing/9475/posts/351/2e5c0ea4232a10379790.html