在Laravel中使用Guzzle Client发布数据时获取null

时间:2019-07-16 09:33:27

标签: laravel post response guzzle

我正在使用Laravel应用程序,从而使用Guzzle Http Client将一些数据发布到API。该API具有通行证认证,该认证要求在头上传递已认证用户的令牌。标头还接受application / json作为内容类型并接受类型。

我也在通过POST请求传递数据

问题是我一直收到空响应。

 public
 function post_policies($data, $token, $url) {

     $client = new Client();
     $serverURL = 'http://localhost/digital-apps-apis/public'.
     '/'.$url;

     $body = $client - > request('POST', $serverURL, $data, [
         'Accept' => 'application/json',
         'Content-Type' => 'application/json',
         'Authorization' => 'Bearer '.$token,
     ]) - > getBody();

     $contents = $body - > getbody() - > getContents();
     $data = json_decode($contents);
     dd($data);

 }

1 个答案:

答案 0 :(得分:0)

    $body = $client->request('POST', $serverURL , $data, [
        'debug' => true,  //switch it to false before go live
         'headers' => [        
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
        'Authorization' => 'Bearer ' . $token, 
    ]]
)->getBody();

您必须在headers数组中定义标题。

由于这是一个帖子,所以我看不到您实际上在体内发送任何数据。但是,如果您确实像我使用标头数组那样使用form_params数组。