gpt4 book ai didi

php - Laravel - 在 API 中访问 session 变量

转载 作者:行者123 更新时间:2023-12-02 03:29:22 25 4
gpt4 key购买 nike

我有一个简单的应用程序,我希望能够更改语言。在我的主 Controller 中,我有:

session(['applocale' => 'en']);
$request->session()->put('applocale','en');

我知道这两行是一样的,但我想确定它们都不起作用。

然后我有 API 方法:

public function switchLang(Request $request, $lang)
{
error_log("Current language is: " . session('applocale'));
error_log("Current language is: " . $request->session()->get('applocale'));
}

这里 error_log 什么也没显示。

我正在关注这个话题:Laravel 5.3 - How to add Sessions to API without CSRF?在 Debugbar 中,我可以看到我的 API 函数已命中中间件“ session ”,但 session 变量不存在。

这就是我的“季节”中间件的样子:

'sessions' => [
\Illuminate\Session\Middleware\StartSession::class,
]

它实际上同时命中了“api”和“session”中间件。

知道我做错了什么吗?

最佳答案

这对我有用 (Laravel-5.7 )

首先将api中间件组改成-

'api' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
'throttle:60,1',
'bindings',
],

App\http\kernel.php 中。

引用 here .

关于php - Laravel - 在 API 中访问 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52279468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com