JSON API Client is a PHP Library to validate and handle the response body from a JSON API Server.
Format: JSON API 1.0
- Be 100% JSON API 1.0 spec conform
- Handle/validate a server response body
- Offer an easy way to retrieve the data
- Be extendable and allow injection of classes/models
- Offer access to included resources through identifier
- Handle/validate a client request body
Via Composer
$ composer require art4/json-api-client
See the documentation.
// The Response body from a JSON API server
$jsonapi_string = '{"meta":{"info":"Testing the JSON API Client."}}';
$manager = new \Art4\JsonApiClient\Utils\Manager();
$document = $manager->parse($jsonapi_string);
if ($document->has('meta.info'))
{
echo $document->get('meta.info'); // "Testing the JSON API Client."
}
// List all keys
var_dump($document->getKeys());
// array(
// 0 => "meta"
// )
JSON API Client can be used as a validator for JSON API contents:
$wrong_jsonapi = '{"data":{},"meta":{"info":"This is wrong JSON API. `data` has to be `null` or containing at least `type` and `id`."}}';
$manager = new \Art4\JsonApiClient\Utils\Manager();
try
{
$document = $manager->parse($wrong_jsonapi);
}
catch (\Art4\JsonApiClient\Exception\ValidationException $e)
{
echo $e->getMessage(); // "A resource object MUST contain a type"
}
Need more functionality? Want to directly inject your model? Easily extend the client with the Factory.
Please see CHANGELOG for more information what has changed recently.
$ phpunit
Please feel free to fork and sending Pull Requests. This project follows Semantic Versioning 2.
GPL2. Please see License File for more information.