LaravelでRest Full APIのルーティングを行う
 
                            リソースルート設定
Laravelでは、Route::resourceを使用することでRESTに対応したルートを自動設定してくれます。
Route::resource('photos', 'PhotoController');リソースコントローラにより処理されるアクション
| HTTPメゾット | URI | アクション | 役割 | 
| GET | /コントローラ名 | index | 一覧表示 | 
| GET | /コントローラ名/create | create | 新規作成ページ | 
| POST | /コントローラ名 | store | 新規作成 | 
| GET | /コントローラ名/{id} | show | 読み込み | 
| GET | /コントローラ名/{id}/edit | edit | 編集ページ | 
| PUT/PATCH | /コントローラ名/{id} | update | 更新 | 
| DELETE | /コントローラ名/{id} | destroy | 削除 | 
APIのルーティング設定
createやeditのようなHTMLテンプレートを提供するルートを除外する場合は、apiResourceメソッドを使用できます。
APIのルーティングを行いたいならこちらを仕様しましょう。
Route::apiResource('/v1/photos', 'PhotoController');コントローラーの作成
make:controller Artisanコマンドを使用することで、リソースコントローラーの雛形を生成出来ます。
$ php artisan make:controller PhotoController --resource/app/Http/Controllers/PhotoController.php
namespace App\Http\Controllers;
class PhotoController extends Controller
{
    public function index()
    {
        //
    }
    public function create()
    {
        //
    }
    public function store(Request $request)
    {
        //
    }
    public function show($id)
    {
        //
    }
    public function edit($id)
    {
        //
    }
    public function update(Request $request, $id)
    {
        //
    }
    public function destroy($id)
    {
        //
    }
}リソースルートを制限する
読み込み専用のAPIだったり、編集機能を廃止したい場合は、onlyやexceptを使用することでリソースルートを制限する事ができます。
index,showのみにする
Route::resource('photos', 'PhotoController')->only([
    'index', 'show'
]);create,store,update,destroyを除外する
Route::resource('photos', 'PhotoController')->except([
    'create', 'store', 'update', 'destroy'
]);