fillup / guzzle-services
Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.
0.5.1
2016-11-04 16:51 UTC
Requires
- php: >=5.4.0
- guzzlehttp/command: 0.7.*
Requires (Dev)
- phpunit/phpunit: ~4.0
Replaces
- guzzlehttp/guzzle-services: 0.5.0
This package is auto-updated.
Last update: 2024-11-06 09:50:32 UTC
README
Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.
use GuzzleHttp\Client; use GuzzleHttp\Command\Guzzle\GuzzleClient; use GuzzleHttp\Command\Guzzle\Description; $client = new Client(); $description = new Description([ 'baseUrl' => 'http://httpbin.org/', 'operations' => [ 'testing' => [ 'httpMethod' => 'GET', 'uri' => '/get{?foo}', 'responseModel' => 'getResponse', 'parameters' => [ 'foo' => [ 'type' => 'string', 'location' => 'uri' ], 'bar' => [ 'type' => 'string', 'location' => 'query' ] ] ] ], 'models' => [ 'getResponse' => [ 'type' => 'object', 'additionalProperties' => [ 'location' => 'json' ] ] ] ]); $guzzleClient = new GuzzleClient($client, $description); $result = $guzzleClient->testing(['foo' => 'bar']); echo $result['args']['foo']; // bar
Installing
This project can be installed using Composer. Add the following to your composer.json:
{ "require": { "guzzlehttp/guzzle-services": "0.5.*" } }
Plugins
- Load Service description from file [https://github.com/gimler/guzzle-description-loader]
More documentation coming soon.