简体   繁体   中英

Wrong Route in RouteGroup Laravel 7

I defined some RoteGroup in api.php

Route::group(['prefix' => 'galleries'], function () {
    Route::get('/', 'GalleriesController@index');
    Route::get('/{id}', 'GalleriesController@show');
    Route::post('/', 'GalleriesController@store');
    Route::post('/{id}', 'GalleriesController@update');
    Route::delete('/{id}', 'GalleriesController@delete');
});

Route::group(['prefex'=>'files'],function(){
    Route::get('/', 'FilesController@index');
    Route::get('/{id}', 'FilesController@show');
    Route::post('/', 'FilesController@store');
    Route::delete('/{id}', 'FilesController@delete');
});

Route::group(['prefix' => 'brands'], function () {
    Route::get('/', 'BrandsController@index');
    Route::get('/{id}', 'BrandsController@show');
    Route::post('/', 'BrandsController@store');
    Route::post('/{id}', 'BrandsController@update');
    Route::delete('/{id}', 'BrandsController@delete');
});

when I call /api/brands Laravel itself calls /api/files/{id} and passes brands as id parameter. I cleared route cache and application cache but it doesn't works.

my route:list command is as follow:

    +--------+----------+--------------------+-----------------------------+-------------------------------------------------+------------+
| Domain | Method   | URI                | Name                        | Action                                          | Middleware |
+--------+----------+--------------------+-----------------------------+-------------------------------------------------+------------+
|        | GET|HEAD | api                | generated::t71BZCrrwrUEipSw | App\Http\Controllers\FilesController@index      | api        |
|        | POST     | api                | generated::aShgozBu0aAJb5Oh | App\Http\Controllers\FilesController@store      | api        |
|        | GET|HEAD | api/brands         | generated::3aUm0HLF9QQRczyA | App\Http\Controllers\BrandsController@index     | api        |
|        | POST     | api/brands         | generated::V58YTIOhzv62STxe | App\Http\Controllers\BrandsController@store     | api        |
|        | GET|HEAD | api/brands/{id}    | generated::SuOaq2tKeDBAWcKH | App\Http\Controllers\BrandsController@show      | api        |
|        | POST     | api/brands/{id}    | generated::Ij9a3h9rjPTJtrl6 | App\Http\Controllers\BrandsController@update    | api        |
|        | DELETE   | api/brands/{id}    | generated::h9fZYI1jripojkLm | App\Http\Controllers\BrandsController@delete    | api        |
|        | GET|HEAD | api/galleries      | generated::UGeFE22cHyQVcjCS | App\Http\Controllers\GalleriesController@index  | api        |
|        | POST     | api/galleries      | generated::oKqS94qAO9isKmCs | App\Http\Controllers\GalleriesController@store  | api        |
|        | GET|HEAD | api/galleries/{id} | generated::mtUddNdRZr9olMHb | App\Http\Controllers\GalleriesController@show   | api        |
|        | POST     | api/galleries/{id} | generated::DD3hLUdSswKYlXse | App\Http\Controllers\GalleriesController@update | api        |
|        | DELETE   | api/galleries/{id} | generated::QTxRv04TlN24QgWO | App\Http\Controllers\GalleriesController@delete | api        |
|        | GET|HEAD | api/{id}           | generated::kt66p66Ao0pBlENo | App\Http\Controllers\FilesController@show       | api        |
|        | DELETE   | api/{id}           | generated::9C7SNWSa1JbTtS1p | App\Http\Controllers\FilesController@delete     | api        |
+--------+----------+--------------------+-----------------------------+-------------------------------------------------+------------+

How can I fix that?

There is a typo in your route definitions. Here:

Route::group(['prefex'=>'files'],function(){
 [...]
});

Change it from 'prefex' to 'prefix':

Route::group(['prefix'=>'files'],function(){
 [...]
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM