我根据以下文档使用护照设置了Laravel:
https://laravel.com/docs/5.3/passport 的
我已经在API路线中写了一条路线并使用邮递员发送请求http://localhost/laravel_project/public/api/user
,但它显示我的错误:
RouteCollection.php第161行中的NotFoundHttpException:
我有以下路线(在routes / api.php中):
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven"
);
})->middleware('auth:api');
但当我在路线中移除->middleware('auth:api')
行时,它对我来说运作正常。
我该如何解决这个问题?
另外请告诉我,如果我不想在我的某些路线中添加护照认证,我该怎么办?
答案 0 :(得分:2)
我遇到了同样的问题,似乎您必须将“接头”标题指定为application/json
,如Matt Stauffer所示here
进一步说明:
/login
,但可能您还没有完成PHP工匠make:auth
所以它不会找到登录信息路由。Route::group
和auth:api
作为中间件对其进行分组答案 1 :(得分:1)
在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
。