rap2hpoutre / jacky
Opinionated REST JSON HTTP API client for laravel
Installs: 4 250
Dependents: 0
Suggesters: 0
Security: 0
Stars: 17
Watchers: 2
Forks: 6
Open Issues: 3
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.1
- illuminate/support: 5.*
Requires (Dev)
- phpunit/phpunit: ~4.0
README
JSON API Client for Laravel and Lumen. It's basically just a Guzzle wrapper for JSON, because Guzzle does not care about JSON anymore. And you can configure your endpoints once and for all in a configuration file, could be useful if you work with different services.
Install
Install via composer
composer require rap2hpoutre/jacky
Add Service Provider to config/app.php
in providers
section
Rap2hpoutre\Jacky\ServiceProvider::class,
Then add the facade in aliases
section (optional)
'Jacky' => Rap2hpoutre\Jacky\Facade::class,
Publish configuration
php artisan vendor:publish
Usage
Simple example
Let's say foo API returns this on GET /users/1
:
{ "data": [{ "name": "John Doe", "email": "john@example.com" }] }
You may get the user like this:
$user_name = Jacky::get('foo', '/users/1')->data->first()->name;
Not found example
Let's say foo API returns this on GET /users/2
not found:
{ "errors": [{ "status": "404", "title": "User not found :/" }] }
You may display error title like this:
use Rap2hpoutre\Jacky\Exception\Http404Exception; try { $user = Jacky::get('foo', '/users/1'); } catch (Http404Exception $e) { echo $e->errors->first()->title; }
Configuration
You can learn more about configuration here