A set of classes that allow for creating JSON API compliant objects
The JSON API has a precise response format. This set of classes allows these to be easily created and interrogated, meaning easy and reliable output/input processing.
Output is as simple as:
use Floor9design\JsonApiFormatter\Models\JsonApiFormatter;
// Some example data:
$id = "2";
$type = 'test';
$attributes = ['test' => 'data'];
$json_api_response = new JsonApiFormatter();
$response = $json_api_response->dataResourceResponse($id, $type, $attributes);
// a json-api string, good for direct output
Other responses and elements, such as errors, meta data, links and source elements are all supported.
For more examples, see usage.
The classes offer:
- easy methods to wrap and unwrap content
- default values and settings out of the box, improving the quality of response
- fluent programming approach, allowing objects to be built on the fly
Via Composer/packagist
composer require floor9design/json-api-formatter
Via git
git clone https://github.com/floor9design-ltd/json-api-formatter.git
Or:
git clone git@github.com:floor9design-ltd/json-api-formatter.git
This is discussed in the usage document.
There are no specific config setup steps required. The class should autoload in PSR-4 compliant systems. If you are using the class on its own, simply include it however is most appropriate.
Tests can be run as follows:
./vendor/phpunit/phpunit/phpunit
Static analysis/code review can be performed by using phpstan:
./vendor/bin/phpstan
The following tests and also creates code coverage (usually maintained at 100%)
./vendor/phpunit/phpunit/phpunit --coverage-html docs/tests/
Note, the following are very useful for validating/testing outputs:
A changelog is generated here:
This software is available under the MIT licence.