Php 路线组Laravel 7中的错误路线

Php 路线组Laravel 7中的错误路线,php,laravel,laravel-7,Php,Laravel,Laravel 7,我在api.php中定义了一些RoteGroup Route::group(['prefix' => 'galleries'], function () { Route::get('/', 'GalleriesController@index'); Route::get('/{id}', 'GalleriesController@show'); Route::post('/', 'GalleriesController@store'); Route::pos

我在api.php中定义了一些RoteGroup

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');
});
当我调用/api/brands时,Laravel本身调用/api/files/{id}并将brands作为id参数传递。我清除了路由缓存和应用程序缓存,但它不工作

我的路线:列表命令如下:

    +--------+----------+--------------------+-----------------------------+-------------------------------------------------+------------+
| 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        |
+--------+----------+--------------------+-----------------------------+-------------------------------------------------+------------+

我如何解决这个问题?

您的路线定义中有一个输入错误。在这里:

Route::group(['prefex'=>'files'],function(){
 [...]
});
将其从“prefex”更改为“prefix”:

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

您的路线定义中存在输入错误。在这里:

Route::group(['prefex'=>'files'],function(){
 [...]
});
将其从“prefex”更改为“prefix”:

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

我认为laravel对将show方法路由更改为类似于/show/{id}的东西感到困惑。或者你的应用程序调用api的方式有问题,试着使用postman,看看它是否工作——假设你说的是GET it states app\Http\Controllers\BrandsController@index适用于api/品牌。是什么让你认为它实际上调用了完全没有路由的/api/files/{id}?我使用postman来调用api。为什么laravel使用/api/files来调用根api/api?@m02ph3u5,因为我在VSCode中使用断点并跟踪它。@rasoulmohammadi查看OMR Answer我认为laravel很困惑,将show方法路由更改为类似/show/{id}。或者你的应用程序调用api的方式有问题,试着使用postman,看看它是否工作——假设你说的是GET it states app\Http\Controllers\BrandsController@index适用于api/品牌。是什么让你认为它实际上调用了完全没有路由的/api/files/{id}?我使用postman来调用api。为什么laravel使用/api/files调用根api/api?@m02ph3u5,因为我在VSCode中使用断点并跟踪它。@rasoulmohammadi查看OMR答案