Download the PHP package brocc/laravel-openapi without Composer
On this page you can find all versions of the php package brocc/laravel-openapi. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-openapi
Write OpenAPI Specifications for Laravel Applications
This packages simplifies writing and structuring of OpenAPI Specifications in YAML or JSON.
Introduction
OpenAPI Specifications generated from annotations or auto-generated from code is great, especially when working with smaller API's. But when an API grows and gets more complex, using annotations can easily become a mess, ending up in more annotations than actual code.
This package helps writing and structuring OpenAPI Specifications written in YAML or JSON. Specifications with referenced parts are merged into a single specification file. This package also comes with ReDoc as an UI for your documentation.
Installation
To get started, install Laravel OpenAPI via composer:
You can optionally publish the config file and views with:
By default this package will check for an OpenAPI Specification file located in base_path('/api-docs/openapi.yaml')
, this can easily be changes in the config file.
To generate a specification run the following command:
Multiple Specifications
You might have multiple specifications, eg. a public API and an internal API, or even multiple API versions that you wish to separate into different specifications.
Example of multi-version config.
You can easily generate multiple specifications by adding additional documentations in config/openapi.php
:
This will generate two documentations accessible at /docs
and /docs/v1
in your browser,
with the specifications accessible at /openapi/v2/openapi.json
and /openapi/v1/openapi.json
.
You can easily chose to publish only one specification by specifying the documentation in the openapi:generate
command:
Development
During development you might want to see the updated docs every time a specification has changed.
This can be done by setting generate_always
to be true
.
It is recommended to keep it set to false
in production.
Contributing
Any contributions are welcome!
We accept contributions via Pull Requests on Github.
All versions of laravel-openapi with dependencies
cebe/php-openapi Version ^1.5
laravel/framework Version ^6.0|^7.0|^8.0
ext-json Version *