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/