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/

