Reputation: 149
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');
Upvotes: 1
Views: 622
Reputation: 1894
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');
Upvotes: 1
Reputation: 8098
put the new sub route in the top/above of the resource. should be like:
Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
Upvotes: 1