【问题标题】:How to get data from api using laravel controller如何使用 laravel 控制器从 api 获取数据
【发布时间】:2021-06-20 21:45:12
【问题描述】:

我有一个 API 会返回 JWT Token https://i.stack.imgur.com/qWr85.png

如何使用 laravel 控制器获取数据,我尝试过使用 GuzzleHttp\Client

        $client = new Client();
        $url = 'http://127.0.0.1:8000/api/login';
        $response = $client->request('GET', $url, [
            'query' => [
                'username' => $request->username,
                'password' => $request->password,
            ],
        ]);

这就是结果https://i.stack.imgur.com/PZfe0.png 如果我试图 dd $response 正文 https://i.stack.imgur.com/KQTjG.png

【问题讨论】:

  • 欢迎你,你试过$response->getBody()->getContents()

标签: laravel rest jwt guzzle


【解决方案1】:

你应该使用 CURL。

function name_of_the_function(Request $request){
    $url = "http://127.0.0.1:8000/api/login?username=".$request->username."&password=".$request->password;
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    $err = curl_error($ch);
    $response = curl_exec($ch);
    if ($err) {
     echo "cURL Error #:" . $err;
    }
    curl_close($ch);
    return $response;
    }

【讨论】:

  • guzzle 可以在其中使用 curl 并且更加面向对象,所以为什么要使用程序化
猜你喜欢
  • 1970-01-01
  • 2016-11-24
  • 2021-02-11
  • 1970-01-01
  • 2017-09-09
  • 2021-10-10
  • 2020-08-27
  • 1970-01-01
  • 2020-12-13
相关资源
最近更新 更多