Search code examples
phplaravellaravel-routing

Laravel call different controller for same resource route


I made a resource controller and route in my api.php. Now I want to create a new route like in Route 2. The issue is when I hit the second route it shows me no resource found error because it's called my test. show method. I want to use both routes is there any solution for that?

Route 1 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
Route 2 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');

Solution

  • Change the line orders. Laravel use first line from top that is appropriate candidate.

    Route 1 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
    Route 2 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');