Я настроил Laravel, используя паспорт согласно документации здесь:
https://laravel.com/docs/5.3/passport.
Я написал один маршрут в API-маршруте и отправить запрос http://localhost/laravel_project/public/api/user
используя почтальон, но он показывает мне ошибку ниже:
NotFoundHttpException в строке 161 RouteCollection.php:
У меня есть следующий маршрут (в маршрутах / api.php):
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven");
})->middleware('auth:api');
но когда я удалил ->middleware('auth:api')
линия на маршруте у меня нормально работает.
Как я могу это исправить?
Также, пожалуйста, скажите мне, если я не хочу добавлять паспортную аутентификацию в некоторые маршруты, как я могу это сделать?
У меня возникла та же проблема, кажется, вы должны указать заголовок Accept для application/json
как показано Мэттом Штауффером Вот
Некоторые дальнейшие заметки:
/login
но, вероятно, вы не сделали PHP ремесленник make:auth
поэтому он не найдет маршрут входа в систему.Route::group
а также auth:api
в качестве промежуточного программного обеспеченияВ вашем routes/api.php
вы можете сделать это:
Route::group(['middleware' => 'auth:api'], function(){
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven");
});
});
Все маршруты, которые вы определяете внутри этой группы, будут иметь auth:api
промежуточное ПО, поэтому для доступа к нему потребуется паспортная аутентификация.
За пределами этой группы вы можете разместить свои API-маршруты, которые не требуют аутентификации.
РЕДАКТИРОВАТЬ: Чтобы убедиться, что маршрут действительно существует с необходимым промежуточным программным обеспечением, запустите php artisan route:list
,