cfxmarkets / php-jsonapi-transport
This package implements the JSON-API transport protocol specification (i.e., it enforces certain request and response parameters).
Requires
- php: >=5.4
- cfxmarkets/php-jsonapi-objects: ^1.4.0 || ^2.0.0
- guzzlehttp/psr7: ~1.4.4
Requires (Dev)
- phpunit/phpunit: >=4.8.0
README
A class that provides a PHP implementation of JSON API transport objects. Note, while this includes an implementation of JsonApi objects as a dependency, it focuses specifically on classes that implement the transport protocol defined in the json-api spec.
Overview
This package focuses on implementing Request and Response classes that make it easier to validate incoming and outgoing JSON-API messages. It defines interfaces that extend PSR-7
, a set of traits that may be used to implement these extensions, and a set of concrete classes extended from Guzzle's PSR-7 implementation.
Usage
Most of the time, this will be used to receive requests from an API client. To do this, you'll create a ServerRequest
object, then add the incoming JsonApi document using withJsonApiDoc
. (Note: Guzzle's original implementation doesn't support use of the ServerRequest::fromGlobals
method to instantiate derivative objects. To use this, you'll have to use a modified implementation, such as my fork at https://github.com/kael-shipman/psr7. See the discussion here.