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
追記
ツイッターで当日のスライドをシェアしてくれていました!!
以下がそのリンクです!!
Tamarbの方々がまとめてくれた記事もシェアしてくれました!!
https://tamarb.esa.io/posts/37
https://esa-pages.io/p/sharing/9475/posts/351/2e5c0ea4232a10379790.html