Download the PHP package allansun/openapi-runtime without Composer
On this page you can find all versions of the php package allansun/openapi-runtime. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package openapi-runtime
OpenAPI Client Runtime
Runtime library to be used with other SDK generated from OpenAPI docs.
Installation
You will also need a PSR-18 compatible client see https://docs.php-http.org/en/latest/clients.html
So either use Guzzle (or any other PSR-18 compatible clients)
Basic concepts
OpenAPI (formally Swagger) defines how API should be interacted with by giving
- API endpoint URI
- input payload and output response (normally in JSON format)
Code generators can generate valid code by parsing the OpenAPI doc.
We try to provide a guidance on how you should organize your code generation.
ResponseHandlers
One key function this lib provides is to transform response JSON into predefined PHP objects.
By calling Client::configure() you can customize your own ResponseHanderStack , which basically is a stack of transformers to parse the response JSON.
You can create your own ResponseHandler by implementing the ResponseHandlerInterface. It is simply an invokable class either returns a Model or throws an UndefinedResponseException so the ResponseHandlerStack can try next handler.
By default, we provide a simple JSON response handler( JsonPsrResponseHandler. It will try to parse the response into a model by looking into reference, which is defined in ReponseTypes. Be aware you should set up your response references by calling ResponseTypes::setTypes().
Usage
First your generated code should provide a way to parse response references into ResponseTypes, or you can create your own ResponseTypes class and inject into a Handler then into a HandlerStack
Then in the generated code you API class should set have the $responseHandlerStack class name ready (a instance will be created on API instantiation)
Projects using this lib
All versions of openapi-runtime with dependencies
ext-json Version *
php-http/discovery Version ^1.14
php-http/message-factory Version ^1.0
phpdocumentor/reflection-docblock Version ^5.0
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/http-message Version ^1.0
psr/log Version 1.*|2.*|3.*
symfony/property-info Version ^4|^5|^6