Это похоже на проблему с пространством имен:
App\Http\Controllers\App\Http\Controllers\AuthController
Обратите внимание, как App\Http\Controllers
повторяется?
Похоже, вы забыли ведущий \
, возможно, используя App\Http\Controllers\AuthController
вместо \App\Http\Controllers\AuthController
где-нибудь.Без него пространство имен относительно относительно текущего пространства имен любого сценария, в котором он использовался. Оно похоже на относительные или абсолютные пути в файлах и URL-адресах.
Если это произошло при определении аутентификациипо умолчанию, Laravel добавит пространство имен App\Http\Controllers
к любому имени контроллера, которое вы указали в качестве действия (вы можете увидеть это в RouteServiceProvider.php).
Редактировать:
Возможно, проблема вызвана устаревшими инструкциями из руководства , которым вы следовали:
Сначала давайте добавим несколько маршрутов в routes/api.php
следующим образом:
Route::group([
'middleware' => 'api',
'namespace' => 'App\Http\Controllers',
'prefix' => 'auth'
], function ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('me', 'AuthController@me');
});
Маршруты, определенные в routes/api.php
уже , имеют пространство имен App\Http\Controllers
, поэтому пространство имен, данное этому Route::group()
, добавляется к этому пространству именвызывая дублирование, о котором я упоминал выше. Если вы удалите строку 'namespace' => 'App\Http\Controllers',
, вы должны решить эту конкретную ошибку.
В их разработке ветки вы можете видеть, что линия уже удалена из направляющей:
Сначала давайте добавим несколько маршрутов в routes/api.php
следующим образом:
Route::group([
'middleware' => 'api',
'prefix' => 'auth'
], function ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('me', 'AuthController@me');
});