2017 © Pedro Peláez
 

library apiintegrator

Serialise/Deserialise data from third party APIs

image

davek1312/apiintegrator

Serialise/Deserialise data from third party APIs

  • Sunday, July 9, 2017
  • by davek1312
  • Repository
  • 0 Watchers
  • 0 Stars
  • 12 Installations
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 21 Versions
  • 0 % Grown

The README.md

davek1312/apiintegrator

Retrieve data from third party APIs and deserialise into PHP models., (*1)

Installation

The package is available on Packagist, you can install it using Composer., (*2)

composer require davek1312/apiintegrator

Configuration

Response Model

Build your response model class. Annotate your model using the JMS annotations. Your model should have the same properties as the API response that it receives. You response model also defines the APIs response data type., (*3)

use JMS\Serializer\Annotation\Exclude;

class YourResponseModel extends Davek1312\ApiIntegrator\Models\ApiIntegratorResponseModel {

    /**
     * @Type("string")
     */
    private $apiProperty;

    /**
     * The API's response format: 'json' OR 'xml'
     *
     * @return  string
     */
    public static function getResponseDataType() {
        return 'json';
    }

    public function getApiProperty() {
        return $this->apiProperty;
    }
}

If the API response contains error attributes your response model class should override the base response error accessors:, (*4)


use JMS\Serializer\Annotation\Type; class YourResponseModel extends Davek1312\ApiIntegrator\Models\ApiIntegratorResponseModel { /** * @Type("string") */ private $apiErrorMessage; /** * @Type("integer") */ private $apiErrorCode; public function getResponseErrorMessage() { return $this->apiErrorMessage; } public function getResponseErrorCode() { return $this->apiErrorCode; } }

Integrator

Your integrator must extend the base integrator and define the $responseModelClass created above:, (*5)

use YourResponseModel;

class YourIntegrator extends Davek1312\ApiIntegrator\ApiIntegrator {

    /**
     * @var string
     */
    public static $responseModelClass = YourResponseModel::class;
}

Usage

Build your request model:, (*6)


/* * $url(string): The API's url * $connectionMethod(string): The HTTP connection method e.g. GET, POST, DELETE etc. * $connectTimeout(double): Seconds allowed to establish a connection to the API * $requestTimeout(double): Seconds allowed to complete request * $additionalRequestOptions(array): An optional array of request options from http://docs.guzzlephp.org/en/latest/request-options.html */ $requestModel = new ApiIntegratorRequestModel($url, $connectionMethod, $connectTimeout, $requestTimeout, array $additionalRequestOptions = []);

Generate your response model using your integrator:, (*7)

$integrator = new YourIntegrator($requestModel);
$responseModel = $integrator->generateNewResponseModel();

Check for errors:, (*8)

if($integrator->hasErrors()) {
    $errorModel = $integrator->getErrorModel();
}

The Versions

09/07 2017

dev-master

9999999-dev https://bitbucket.org/davek1312/apiintegrator

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

09/07 2017

v0.8.1

0.8.1.0 https://bitbucket.org/davek1312/apiintegrator

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

22/03 2017

v0.7.1

0.7.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

21/03 2017

v0.7.2

0.7.2.0 https://bitbucket.org/davek1312/apiintegrator

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

09/03 2017

v0.6.3

0.6.3.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

08/03 2017

v0.6.2

0.6.2.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

09/02 2017

v0.6.1

0.6.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

07/02 2017

v0.5.1

0.5.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

07/02 2017

v0.4.1

0.4.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

06/02 2017

v0.3.2

0.3.2.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

05/02 2017

v0.3.1

0.3.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

05/02 2017

v0.2.4

0.2.4.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

03/02 2017

v0.2.3

0.2.3.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

03/02 2017

v0.2.2

0.2.2.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

03/02 2017

v0.2.1

0.2.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

03/02 2017

v0.1.1

0.1.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

02/02 2017

v0.0.5

0.0.5.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

02/02 2017

v0.0.4

0.0.4.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

16/01 2017

v0.0.3

0.0.3.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

02/01 2017

v0.0.2

0.0.2.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise

01/01 2017

v0.0.1

0.0.1.0

Serialise/Deserialise data from third party APIs

  Sources   Download

MIT

The Requires

 

The Development Requires

by David Kelly

api serialise deserilise