#RESTfulとは
RESTful APIは、基本的に「RESTの原則」に従って実装されているWebシステムのHTTPでの呼び出しインターフェースのことを指します。
なるほど..わからん。
Railsの根本的なところやん?こんなに理解がぼんやりしていてええの?
ってことでこの曇った視界をはっきりさせていく。
#RESTful
アプリケーションを構成するリソースをHTTPリクエスト(GET/POST/PUT/DELETE)で作成、読み出し、更新、削除できる仕組み
要するに___URLに対してどのHTTPリクエストを送るかでそのあとの動作をより分けている___イメージか。
アプリケーションでユーザー関連のもろもろを取り扱うUserリソースを例にしてみる
アプリケーションの下記のような動作があったとする。
- ユーザーを新しく登録するページを表示(new)
- ユーザーを新しく作る(create)
- 一人のユーザーを閲覧する(show)
- 登録ユーザーの一覧をみる(index)
- ユーザー情報を更新するページを表示(edit)
- ユーザー情報を更新する(update)
- ユーザーを消す(destroy)
これを冒頭でも述べた動作で振り分ける
ユーザーを新しく作るなら
HTTPリクエストは POST
URLは/users
こうするとcreateアクションを呼び出すことができる。
※Railsではindex, show, new, edit, create, update ,destroyが暗黙のリクエスト
#RESTfulな設計を使うには
HTTPリクエスト、URL、アクションの設定はroutes.rbでできる。
post '/users', to: 'users#create'
ただUsersリソースのように想定している動作がindex, show, new, edit, create, update ,destroyの7種類全てを使う場合はroutes.rbで
resources :users
の1行を追加するだけで全てのアクションが使える。
#RESTfulな設計とは
・URLに対して、どのリクエスト(GET、POST、PUT、DELETE)かで結果が変わる仕組み
・routes.rbでその設定ができる。
・すべての挙動を想定している場合はresources :usersの一行でルーティング設定が終了する
#参考
https://wa3.i-3-i.info/word11405.html
https://qiita.com/kidach1/items/43e53811c12351915278
https://qiita.com/katsutakashima/items/47977b9e7d18cf816734
railsチュートリアル
Ruby on Rails 入門