Making API calls from laravel applications

Installs: 525

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 4

Forks: 1

Open Issues: 0

Type:package

dev-master 2017-12-06 09:12 UTC

This package is not auto-updated.

Last update: 2024-11-19 08:05:45 UTC


README

A guzzle interface to make API calls for laravel 5 applications.

1) Install package via composer:
composer require basemkhirat/api
2) Add package service provider:
Basemkhirat\API\APIServiceProvider::class
3) Add package alias:
'API' => Basemkhirat\API\Facades\API::class
4) Publishing:
php artisan vendor:publish

Usage:

Requests with request uri:

// $config is optional

GET Request     :  API::get("users/show", $config)
POST Request    :  API::post("users/create", $config)
PUT Request     :  API::put("users/update", $config)
DELETE Request  :  API::delete("users/delete", $config)

Or using full url:

// $config is optional

GET Request     :  API::get("http://httpbin.org/get", $config)
POST Request    :  API::post("http://httpbin.org/post", $config)
PUT Request     :  API::put("http://httpbin.org/put", $config)
DELETE Request  :  API::delete("http://httpbin.org/delete", $config)

Getting body content text:

API::get("get", $config)->getBody()->getContent()

Getting body content array:

API::get("get", $config)->toArray()

Getting status code:

API::get("get", $config)->getStatusCode()   // int 200

Multiple drivers:

In api.php config file, repeat default array block

 return [
 
     // Called using API::driver("default")->get($uri) or API::get($uri) directly
     
     "default" => [
        'base_uri' => 'http://site1.dev/api/',
        ....
        ...
        .
     ],
     
     // Called using API::driver("another")->get($uri)
     
     "another" => [
        'base_uri' => 'http://site2.dev/api/',
        ....
        ...
        .
      ]
 ];

Native guzzle calling:

//API::guzzle() return guzzle client object

API::guzzle()->get("get", $config)->getBody()->getContents();

For more guzzle request options

Browse Guzzle docs : Guzzle Docs

Good luck

Dont forget to send a feedback..