RestFulなコントローラー(Laravel)

RestFulとは?

4つの原則からなる。

  1. 提供する情報が、URIを通して表現できること。全ての情報はURIで表現される一意なアドレスを持っていること。
  2. HTTPをベースにした、ステートレスなクライアント/サーバプロトコルであること。セッション等の状態管理はせずに、それ自体で完結してること。
  3. 情報内部に、別の情報や、その情報の別の状態へのリンク等も含めることができること。
  4. 全てHTTPメソッドを使用すること

RestFul APIを使うメリット

  1. URIに規律が生まれることで、APIを利用するサービス開発者が楽になる
  2. URIに規律が生まれることで、API開発者もURIからソースのどの部分なのかが容易にわかる
  3. ブラウザのアドレスバーにURIを入力すればリソースが参照できる
  4. サーバ、クライアント間で何も共有しないことにより、負荷に応じたスケーラビリティが向上する。ステートレス性に値するもので、一番のメリットされている。
  5. GET、POST、PUT、DELETE等のHTTP標準のメソッドを使うことで、シンプルで一貫性のあるリクエスト標準化が円滑に行える。統一インターフェースに値する。

下記参照
qiita.com


RestFulなコントローラーとは?

よく使用するメソッド(CRUD等)が用意されたControllerを、一瞬で作成できる。

下記のコマンドを実行するだけで、7つの雛形メソッドが用意されたControllerを、数秒で作ることができる

php artisan make:controller ContactFormController --resource

できた。

下記参照
https://readouble.com/laravel/9.x/ja/controllers.html


routeも雛形に合わせた書き方をする

  • 手順
    • routesのweb.phpで、対象のControllerをuseする
    • web.phpに追加 Route::resource('contacts', ContactFormController::class);
    • php artisan route:list でルートに追加されてることを確認

追加されてた。

今回は、学習のためにもこの機能は使わず、自分でメソッドやルートは追加予定です。
ただ、楽すぎてびっくりしました。