J'ai créé un contrôleur de ressources et une route dans mon api.php. Maintenant, je veux créer une nouvelle route comme dans la Route 2. Le problème est que lorsque je frappe la deuxième route, il ne me montre aucune erreur de ressource trouvée car elle s'appelle mon test. montrer la méthode. Je souhaite utiliser les deux itinéraires, y a-t-il une solution pour cela?

Route 1 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
Route 2 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
1
user8989878 24 févr. 2021 à 12:10

2 réponses

Meilleure réponse

Modifiez les ordres de ligne. Laravel utilise la première ligne à partir du haut qui est le candidat approprié.

Route 1 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route 2 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
1
mohammad asghari 24 févr. 2021 à 09:26

Placez la nouvelle sous-route en haut / au-dessus de la ressource. devrait être comme:

Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
1
Muhammad Dyas Yaskur 24 févr. 2021 à 09:24