Laravel - 从控制器中的 API 获取返回数据
Laravel - Get returned data from an API within the Controller
我有一个 API /getuser
其中 returns 一个响应以及用户对象:
$user = session()->get('current_user');
return response()->json(['user'=>$user]);
现在,我想在我的函数 public function show_user()
.
中得到上述返回的 api
我试过 $current_user = return redirect('/getuser');
但它给了我一个错误 - 我不知道为什么具体但我很确定你不能在变量上分配返回的响应?
我使用不同的 API 获取用户的原因是会话。 api routes
无法正常 read/store 会话(可能是因为它们是无状态的或其他原因)所以我将 /getuser
放在 web routes
上,效果很好。我可以在任何地方调用网络 "api",它会给我当前用户。但是现在,我无法通过 session()->get()...
在 api routes
中引用上述当前用户,因为它不会读取会话。我的解决方案是调用 /getuser
api 我在 web routes
上创建的并将其返回的响应分配给一个变量 - 我不知道如何。
有什么方法可以实现这样的目标吗?
非常感谢!
当您需要在您的控制器中调用 api 时,您可以在 laravel 中使用 guzzle。
use GuzzleHttp\Client;
class MyController extends Controller {
public function show_user()
{
$client = new Client();
$res = $client->request('GET', '/getuser', [
'form_params' => [
'KEY' => 'VALUE',
]
]);
$result= $res->getBody();
dd($result);
}
阅读博客here
我有一个 API /getuser
其中 returns 一个响应以及用户对象:
$user = session()->get('current_user');
return response()->json(['user'=>$user]);
现在,我想在我的函数 public function show_user()
.
我试过 $current_user = return redirect('/getuser');
但它给了我一个错误 - 我不知道为什么具体但我很确定你不能在变量上分配返回的响应?
我使用不同的 API 获取用户的原因是会话。 api routes
无法正常 read/store 会话(可能是因为它们是无状态的或其他原因)所以我将 /getuser
放在 web routes
上,效果很好。我可以在任何地方调用网络 "api",它会给我当前用户。但是现在,我无法通过 session()->get()...
在 api routes
中引用上述当前用户,因为它不会读取会话。我的解决方案是调用 /getuser
api 我在 web routes
上创建的并将其返回的响应分配给一个变量 - 我不知道如何。
有什么方法可以实现这样的目标吗? 非常感谢!
当您需要在您的控制器中调用 api 时,您可以在 laravel 中使用 guzzle。
use GuzzleHttp\Client;
class MyController extends Controller {
public function show_user()
{
$client = new Client();
$res = $client->request('GET', '/getuser', [
'form_params' => [
'KEY' => 'VALUE',
]
]);
$result= $res->getBody();
dd($result);
}
阅读博客here