forked from loafle/openapi-generator-original
* Adds v2 spec additionalproperties examples, adds v3 spec nulllable model example, updates samples * Remaining samples updates * Adds csharp generator update to handle models with multilevel parent types, which works for the AdditionalPropertiesObject model, samples updated
OpenAPI generated server
Generated by the OpenAPI Generator project.
Overview
This server stub aims to provide light, yet comprehensive structure for your API project using:
- PHP: >=7.1
- Zend Expressive: >=3.2
- Path Handler: >=0.4
How to use
All you have to do to start development is:
- install dependencies via Composer (small note: ext-yaml is used only for configuration parsing, so if you want to drop this dependency, simply adjust
./application/container.php
) - create cache folder:
mkdir -p ./data/cache/ZendCache
(you will need it later for configuration and metadata caches - check comments in./application/config.yml
) - start PHP development server:
php -S 0.0.0.0:8080 -t ./public
(or any other SAPI you prefer, just make sure that you configure webroot to./public
and rewrites to./public/index.php
)
After that you should be able to call all methods from your API spec. Most of the negative scenarios should be handled:
404 Not found
for unknown routes406 Not acceptable
for invalidAccept
header415 Unsupported media type
for invalidContent-Type
header400 Malformed JSON
for unparsable JSON body422 Unprocessable entity
for parsable JSON body that fails validation
But for obvious reason you will not get any 200 OK
, only 501 Not implemented
. So your next steps are:
- check all TODOs left in the stub code where generator was not smart enough and could not guarantee correct implementation
- implement your API security mechanism (either special attribute or separate middleware) - generator does not do anything about it yet
- implement your handlers - the most tricky part :)
Enjoy!
Hopefully this stub will reduce the amount of boilerplate code you have to write manually. If you have any suggestions or questions about php-ze-ph
generator, feel free to create issue either in Path Handler repository or in OpenAPI Generator repository.