根据这里的文件,我已经设置了使用护照的Laravel:
https://laravel.com/docs/5.3/passport。
我用API路由编写了一条路由,并使用postman发送请求http://localhost/laravel_project/public/api/user
,但它显示了下面的错误:
NotFoundHttpException在RouteCollection.php第161行中:
我有以下路线(在路由/api.php中):
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven"
);
})->middleware('auth:api');
但是当我移除路线上的->middleware('auth:api')
行时,它对我来说是很好的。
我怎么才能解决这个问题?
此外,请告诉我,如果我不想增加护照认证在我的一些路线,我如何做到这一点?
发布于 2016-12-29 13:16:02
我也有同样的问题,似乎您必须指定application/json
的接受头,如Matt Stauffer 这里所示。
一些进一步的说明:
/login
,但是您可能还没有执行PHP make:auth
,因此它将找不到登录路由。Route::group
和auth:api
作为中间件对它们进行分组。发布于 2016-10-25 03:52:52
在您的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
。
https://stackoverflow.com/questions/40218529
复制相似问题