External API calling in Laravel by Guzzle Package

Recently I am working on a project that need to access some external API. And it’s a Laravel project, so I am looking for some package that can save my time and meet the deadline too.

 

I am using GuzzleHttp package for accessing external API and its really easy

 

Installation:

composer require guzzlehttp/guzzle:~6.0

Uses:
on your controller file just put before your class ClassName

use GuzzleHttp\Client;

 

Now call this Guzzle Client in your method

//create an instance of Client wiht base url of the API

$client = new Client(['base_uri' => 'http:127.0.0.1/path/to/api/']);

// Send a GET request to http:127.0.0.1/path/to/api/ 
// and method name is apiName 
// with api authentication (username and password)
$response = $client->request('GET', apiName', [
                 'auth' => ['username', 'password']
                 ]);

// check the response by

dd($response);

// Get the response status code

dd($response->getStatusCode());

// Get the response phase
dd($response->getReasonPhrase());

// Get all/full header
dd($response->getHeaders());

// Get specific specific entity of header, 
// here we retrive content-type
dd($response->getHeader('content-type'));

// Get api content. it return the main content the we need

dd($response->getBody()->getContents());

 

this post will continue as i go with this Guzzle package..

 

Repository – https://github.com/guzzle/guzzle

and here is the main document – http://docs.guzzlephp.org/en/latest/