会话在laravel API中不起作用?

时间:2017-08-14 10:13:34

标签: laravel api session

我一直在使用Web控制器中的会话,但从未在api控制器中尝试过。我希望会话在api控制器中工作。

这是我在Api / TestController中的方法

public function setSession(Request $request){
  //   session()->put('hellos','rfer');
    if(session()->has('hellos')){
        return response()->json(true);
    }
    else{
        return response()->json(false);
    }
}

如果我评论session-> put()..该方法返回false。

然后我尝试在Kernel.php中注册

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

但我仍然没有得到我想要的东西。 我想从api控制器为我项目的所有路径设置会话值。

1 个答案:

答案 0 :(得分:0)

他们确实在工作。参见this thread

使用下面的代码更新Kernel.php后,从会话驱动程序中删除所有已注册的会话(无论是文件,数据库,redis等),然后再次浏览您的应用。

'api' => [
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Session\Middleware\StartSession::class,
    ....
],