在Laravel API路由中使用GET

时间:2018-09-14 08:55:01

标签: php laravel api

我正在尝试建立一个Laravel API,但是每次我尝试使用get时,都会出现以下错误: Session store not set on request.

当我将其放置在(api)中间件之外时,它可以工作,但在那种情况下,不需要身份验证。 使用post可以正常工作,但是以某种方式使用get时,我会不断收到错误。

这是我在route / api.php中拥有的:

Route::middleware('auth:api')->group(function () {
    Route::get('/test', function (Request $request) {
        return 'test';
    });
});

PHP版本:7.2.9

Laravel版本:5.6.17

宅基版本:6.3.0

这特别是在auth:api中间件中,它不同于

  

Laravel - Session store not set on request

2 个答案:

答案 0 :(得分:0)

如果需要会话状态,CSRF保护等等,请使用Web中间件。

Route::group(['middleware' => ['web']], function () {
    // your routes here
});

答案 1 :(得分:0)

我发现必须在App \ Kernel.php的$ middlewareGroups中包含StartSession才能解决问题

'api' => [
    \Illuminate\Session\Middleware\StartSession::class,
    'throttle:60,1',
    'bindings',
],