gossi / swagger
A php library to manipulate swagger specifications
Installs: 75 299
Dependents: 3
Suggesters: 0
Security: 0
Stars: 16
Watchers: 1
Forks: 18
Open Issues: 0
Requires
- php: >=5.4
- phootwork/collection: ~1
- phootwork/file: ~0
- phootwork/json: ~1
Requires (Dev)
- phpunit/phpunit: ~4
This package is auto-updated.
Last update: 2024-12-20 23:26:52 UTC
README
A php library to manipulate swagger/Open API specifications.
Installation
composer require gossi/swagger
Usage
Read an api.json
file:
$swagger = Swagger::fromFile('api.json'); // or $swagger = new Swagger($array);
Collections
There are two major collections: Paths
and Definitions
. The API is similar for both:
$paths = $swagger->getPaths(); $p = new Path('/user'); // adding $paths->add($p); // retrieving if ($paths->has('/user') || $paths->contains($p)) { $path = $paths->get('/user'); } // removing $paths->remove('/user'); // iterating foreach ($paths as $path) { // do sth with $path }
Other collections are: Headers
, Parameters
, Responses
and SecurityDefinitions
.
Models
There are a lot of models, e.g. the mentioned Path
above. The API is well written, so it works with the auto-completion of your IDE. It is straight forward and uses the same naming scheme as the OpenAPI specification.
Contributing
Feel free to fork and submit a pull request (don't forget the tests) and I am happy to merge.