matryoshka-model/service-api

A set of utilities aimed at consuming HTTP API services


Keywords
rpc, http, rest, api, restful, web services, matryoshka
License
BSD-2-Clause

Documentation

Service API

Latest Stable Version Build Status Coveralls branch Matryoshka Model's Slack

A set of utilities aimed at consuming HTTP API services.

Community

For questions and support please visit the slack channel (get an invite here).

Installation

Install it using composer.

composer require matryoshka-model/service-api

Configuration

This library provides two factories for Zend\ServiceManager to make Zend\Http\Client and Matryoshka\Service\Api\Client\HttpApi available as services.

In order to use them in a ZF2 application register the provided factories into its configuration:

'service_manager'    => [
    'factories' => [
        'Matryoshka\Service\Api\Client\HttpClient' => 'Matryoshka\Service\Api\Service\HttpClientServiceFactory',
    ],
    'abstract_factories' => [
        'Matryoshka\Service\Api\Service\HttpApiAbstractServiceFactory',
    ],
],

Then, in your configuration you can add the matryoshka-httpclient and matryoshka-service-api nodes and configure them as in the following example:

'matryoshka-httpclient' => [
    'uri'       => 'http://example.net/path', //base uri
    ... //any other options available for Zend\Http\Client
],

'matryoshka-service-api'    => [
    'YourApiServiceName' => [
        'http_client'        => 'Matryoshka\Service\Api\Client\HttpClient', // http client service name
        'base_request'       => 'Zend\Http\Request',                        // base request service name
        'valid_status_code'  => [],                                         // Array of int code valid
        'request_format'     => 'json',                                     // string json/xml
        'profiler'           => '',                                         // profiler service name
    ],
    ...
],

Analytics