我在Laravel中遇到会话问题。我的项目包含两个项目,一个是API,另一个是WebApp。两者都使用Laravel 5.5。
问题是我想在我的API项目中保存会话 ,但未保存。我将这样的会话保存在api.php
中:
Route::get('test', function () {
session(['data' => "data"]);
session()->save();
});
经过研究,我发现了question,有人说要在Kernel.php
中加入这两行:
protected $middleware = [
//...
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
我已经添加了这两行,问题仍然存在。
“食尸鬼”也是如此。从我的WebApp,我对我的API进行了GET调用。在API中调用的方法中,我保存了一个会话,而当我在API的另一种方法中检索该会话时,我得到了null
,因为尚未保存会话!
我怀疑与Postman和Guzzle的会话问题有关,并且我缺少一些东西。
我的config\session.php
文件是默认文件。我知道我可以选择将会话保存到数据库中,但是我希望将其保留为默认值,但是如果没有其他选择,我可以将SESSION_DRIVER
的{{1}}选项从< em>文件到数据库。
答案 0 :(得分:0)
API是而且应该是无会话/无状态的。 他们无法处理。
这就是为什么使用基于令牌的身份验证的原因。
为了确保您对此有所了解。在route
文件中写入web.php
,然后从postman
或browser
中点击它,然后您将看到会话信息。