laravelにおけるRestfulなController記述について
RESTとは、REpresentational State Transferの略で、むりやり日本語に訳すと「再現性のある状態転送」という意味の分からない感じになりますが
簡単に言うと、特定のURI(URL)にアクセスすると同じレスポンスを返す(セッションを持たない)といったニュアンスです。
また、URLにアクセスする方法としてGET/POST/PUT/PATCH/DELETEの5種類があります。
たいていのWeb APIは、上記のRESTに対応しているので、Restful APIという表現がされたりします。
laravelでも、以下の様なRestful Controllerを標準実装しています。
SQL | CRUD | 機能 | Action | Method | URI | 備考 |
---|---|---|---|---|---|---|
INSERT | Create | 新規作成 | create | GET | /posts/create | 入力欄を表示 |
新規保存 | store | POST | /posts | 入力データを保存 | ||
SELECT | Read | 一覧表示 | index | GET | /posts | ModelのScopeで表示条件指定 |
詳細表示 | show | GET | /posts/{id} | 入力欄なし | ||
UPDATE | Update | 編集 | edit | GET | /posts/{id}/edit | 入力欄を表示 |
更新 | update | PUT/PATCH | /posts/{id} | PUT=Upsert, PATCH=Update | ||
DELETE | Delete | 削除 | destroy | DELETE | /posts/{id} |
上記に従う限りは、Controllerの記述は一行で自動的にマッピングされる。
Route::resource(‘posts’, ‘PostssController’);
楽だけど、知らないと何をやっているのか分からんな(^_^;)