Jim Schubert 78bf3adc4a
[core] Initial FeatureSet structures and definitions (#3614)
[core] Initial FeatureSet structures and definitions
Add default feature set to DefaultCodegen
Initial FeatureSet definitions for:

*  ada 
*  android 
*  apache2 
*  asciidoc 
*  aspnetcore 
*  avro 
*  bash 
*  c 
*  clojure 
*  cpp-pistache-server 
*  cpp-qt5-client 
*  cpp-qt5-qhttpengine-server 
*  cpp-restbed-server 
*  cpp-restsdk 
*  cpp-tizen 
*  csharp 
*  csharp-nancyfx 
*  csharp-netcore 
*  cwiki 
*  dart 
*  eiffel 
*  elixir 
*  elm 
*  erlang 
*  flash 
*  fsharp-functions 
*  go  Client/Server
*  graphql-nodejs-express-server 
*  graphql-schema 
*  groovy 
*  haskell 
*  haskell-http-client 
*  java 
*  jmeter 
*  kotlin 
*  kotlin vertx 
*  kotlin-server 
*  kotlin-spring 
*  lua 
*  mysql 
*  nim 
*  nodejs 
*  nodejs-express 
*  objc 
*  ocaml 
*  openapi 
*  openapi-yaml 
*  perl 
*  php 
*  php-laravel 
*  php-lumen 
*  php-silex 
*  php-slim 
*  php-symfony 
*  php-ze-ph 
*  powershell 
*  protobuf 
*  protobuf-schema 
*  python 
*  python-aiohttp 
*  python-blueplanet 
*  python-experimental 
*  r 
*  ror 
*  ruby 
*  ruby 
*  ruby-sinatra 
*  rust 
*  scala-akka 
*  scala-finch 
*  scala-gatling 
*  scala-http-client 
*  scala-lagom 
*  scala-play 
*  scalatra 
*  scalaz 
*  spring 
*  static docs 
*  swift 
*  typescript
2020-01-11 16:20:47 -05:00
..
2019-12-02 15:26:01 +08:00

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:

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 routes
  • 406 Not acceptable for invalid Accept header
  • 415 Unsupported media type for invalid Content-Type header
  • 400 Malformed JSON for unparsable JSON body
  • 422 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.