LaravelでRESTfulを使って開発したら結構便利だった件
皆様こんにちは。sakuyaです。
今回はLaravelでRESTfulサービスを使ったときのことを書いていこうと思います。
そもそも「REST」、「RESTful」とは何?
RESTは分散型システムを構築するための考え方で、インターネットのあちこちにプログラムが分散して存在したときに、それらが相互にやり取りしながら動くようなシステムにするにはどういう仕組みにしたらいいかの答えの1つらしいです。
で、RESTfulサービスは、情報の取得や送信などの基本的な操作のしかたが統一されているため、他のプログラムから簡単にアクセスしてサービスを利用できるようになっているそうです。
※私も初めて使うときに調べた程度なので詳しいことは分かっていないです。
それではここから本題
私が個人的に開発をしている時に、RESTfulを使って「RESTコントローラー」を以下のコマンドを打って作りました。
$php artisan make:controller MemoController --resouce
すると、一覧表示のindex、新規作成のcreateとstore、レコード表示のshow、更新処理のeditとupdate、削除処理のdestroyが自動で作られました。
今まで手書きだったのが自動生成されてめっちゃ便利だ!
と、そのときの私は思いました。まあ、最後の「--resouce」の部分があることで自動生成されることに後で気づくのですが・・・。
上記を作った後に、ルート情報を登録しないといけないので以下をWeb.phpに追記する。
Route::resouce('memo' , 'MemoController::class');
これでMemoControllerで自動生成された分すべてのルーティングを登録することができました。
手書きでルーティング情報をWeb.phpに追記していくよりだいぶ楽に実装できるのでお勧めです。
それぞれの処理にアクセスする方法
index → /コントローラ
create → /コントローラ/create
store→ /コントローラ
show → /コントローラ/ id(番号)
edit → /コントローラ/ id(番号)/edit
update → /コントローラ/ id(番号)
delete → /コントローラ/ id(番号)
※storeはPOST送信、updateはPUT/PATCH送信、deleteはDELETE送信です。
最後に
今回のでRESTfulがいかに便利なものなのか伝わったでしょうか。最低限、手書きよりは簡単にコントローラやルーティングなどが実装できることが伝わればいいかと思います。