У меня возникли проблемы с проверкой запросов, laravel Route api.php работает как Route web.php.
Мои API-маршруты:
Route::post('login', 'PassportController@login');
Route::post('register', 'PassportController@register');
Route::middleware('auth:api')->group(function () {
//USERS
Route::get('get-details', 'UserController@getDetails');
});
Я настроил все хорошие паспортаДокументация мне сказала, и работает нормально, но теперь я тестирую мой запрос, где не указан токен для проверки и обработки ошибок.
Мой маршрут:
http://localhost:8000/api/get-details
Мой пользовательский контроллер:
public function getDetails()
{
if(!Auth::check())
{
return response()->json(['error' => 'UnAuthorised'], 401);
}
//Get Auth User
$user = Auth::user();
//Return 404 if user not found
if(is_null($user)){
return response()->json(null,404);
}
return response()->json($user, 200);
}
Чем с помощью Почтальона или другого инструмента я добавил свой маршрут без токена, чем в случае, если токен не включен, выдает мне сообщение об ошибке json.Но insted выдает мне эту ошибку:
InvalidArgumentException
Route [login] not defined.
И я замечаю, что проблема была в Midleware Authenticate.php:
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
Где «ExpectedJson» дает мне ложь.Как я могу решить проблему?Многие примеры, которые я вижу в Интернете, говорят о переопределении базы запросов или комментировании логина обратного маршрута, но это не решение для меня, так как в моем случае у меня есть в том же приложении маршруты API, по которым мое мобильное приложение связывается с ним, и тогда у меня не получитсявеб-сервер для управления информацией.
Может кто-нибудь посоветовать мне, как решить проблему?