* InlineResolver to flatten callback operations
Signed-off-by: lwlee2608 <lwlee2608@gmail.com>
* clone from VertxServerCodegen, to new VertxWebServerCodegen
* fix compilation error in VertxWebCodegn
* Start working on VertxWebServerCodegen, adding support files
* add server api handler
* add server api and fix yaml spec file generation
* link api to apiHandler
* convert vertx parameters into API model
* add support to multipart/form-data upload files
* ability to set http status code from ApiImpl
* replace rootPackage with invokerPackage
* add readme and sample
* fix circleCi error
* override file to FileUpload in typeMapping, no need to override from fromOperation(). Also remove unused annotation import from model
* remove smartBear software copyright
* use {{artifactVersion}} instead of hardcode version in readme
* add -t flag in generation script
* add generated vertx-web server to master pom for testing
Update the go server api controller template to return the Router interface instead of the api specific router.
The Router interface type has the Routes function, which is what the generated `NewRouter` function needs. (not the api specific interface).
* [Slim4] Copy Slim3 generator as starting point
* [Slim4] Add psr7Implementation generator option
Slim supports PSR-7 interfaces for its Request and Response objects.
Slim provides its own PSR-7 implementation so that it works out of the
box.
However, you are free to replace Slim’s default PSR-7 objects with
a third-party implementation.
[Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html
* [Slim4] Handle psr7Implementation generator option
It somehow ended up with composerPackages and composerDevPackages
codegen variables and two additional functions. Hope, it's not too much.
* [Slim4] Extend from Slim3 generator
* [Slim4] Bump PHP Slim Framework version to 4.0.0
* [Slim4] Bump required PHP version to 7.1
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Remove app settings
Slim’s App settings used to be a part of the container and they have
now been decoupled from it.
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Set container argument optional
Slim uses an optional dependency container to prepare, manage,
and inject application dependencies.
Slim supports containers that implement PSR-11
like [PHP-DI](http://php-di.org/doc/frameworks/slim.html).
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Change response body write
You can't write to response instance directly anymore,
need to retrieve body object first.
[Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body)
* [Slim4] Change Slim\App constructor
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Refactor token authentication options
User can provide array or Container as constructor argument from now.
Small refactoring required to retrieve authentication options from
that argument.
* [Slim4] Add PSR-7 implementation codegen flags
This approach seems more flexible to me.
User can customize templates in favor of chosen PSR7 implementation.
It's easier to change Composer packages and their versions.
* [Slim4] Add JsonBodyParserMiddleware
Slim4 doesn't parse JSON body, need to add suggested middleware.
Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body
* [Slim4] Remove request's deprecated methods usage
Since Slim 4.0.0 ServerRequest implementation doesn't have
getQueryParam and getParsedBodyParam methods anymore.
* [Slim4] Use getUploadedFiles for multipart request
isMultipart codegen property is always false so far.
Hope that bug will be fixed soon.
* [Slim4] Add samples
* Enhance go api server with interfaces router binding and services
Enhance the default go api server generation to define interfaces for an API's routes and services. Handle an endpoint's http binding in the generated router and the skeleton for the service logic in an API service.
* Include interface documentation in Go Server generation.
* [CLI] Initial implementation for batch generation
Allows for generating multiple outputs via config. Just specify multiple
config files on command line.
Intent for this is to reduce CI times to generate outputs as well as to
reduce time for users to run ensure-up-to-date to meet PR standards.
Example command:
openapi-generator batch --includes-base-dir `pwd` --fail-fast -- bin/ci/*
---
As part of this implementation, the batch command support a customized
JSON key, `!include`. If this key's value refers to an existing file,
that file's contents are "unwrapped" into the config during
deserialization. This allows us to easily point to the same configs used
by our sample scripts without modifying the CLI generate task's switches
or assumptions.
* Allow for path-relative outputs
* Add batch JSON objects
* Include INFO log about threads used and includes/root
* Ensure GlobalSettings.reset()
* Improved thread-safety of ModelUtils
* feat: add companion object to data classes if the implement the interface java.io.Serializable
* style: format template file
* style: adapt to project's original code style
* fix: add missing imports
* style: reverted mustache template to original styling
* test: generate additional samples for kotlin-springboot-reactive and kotlin-springboot
* docs: name full qualified classname of interface java.io.Serializable to prevent confusion with kotlinx.serialization
* feat: allow creation of kotlin data classes that implement java.io.Serializable, by adding the config option serializableModel=(true|false)
* docs: add markdown docu for new configOption serializableModel
* fix: do not use parcelize in script
* update kotlin samples
* add the option, update the doc
* [C++][Pistache] Simplified model template
* [C++][Pistache] Fix for addExternalLibs option
CMake would fail with addExternalLibs set to false
since it'd try to add depenency to not-existing targets
* [C++][Pistache] Update cpp-pistache-server-petstore.sh
* [C++][Pistache] Update Petstore sample
* [C++][Pistache] Update documentation
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam}
* fix to bug #3157
* update samples
* add test cases to cover different collection format
* add space params to retrofit 1.x
* add space params to retrofit 2.x
* rename url to localVarUrl
* fix exception in haskell servant
* create nodejs express esrver
* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet
* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet (#2839)
* Working Express server with successful routing to controllers.
* rewrote controllers and services. Haven't tested yet
* controllers and services have passed tests successfully
* Added documentation
* Added documentation
* Support for openApi v3, using 'express-openapi-validator' for parsing and validation, and an internal router to pass arguments to controllers and services. /controllers/Pet.js and /services/PetService.js should be used for reverse engineering for future codegen script
* update generator and template
* update samples
* more update
* update service, controller
* add vendor extensions
* some updates to adapt to changes in the generator (removing references to swager); some work on handling file uploads; some work on tests
* Update NodeJS server generator and templates based on new output (#3261)
* update generator and template
* update samples
* more update
* update service, controller
* add vendor extensions
* update doc
* Changed routing code to follow the following convention:
Each path operation has a 'x-openapi-router-controller' and 'x-openapi-router-service'. Automated files will be placed under /controllers and /services respectively.
Controller file names will end with 'Controller.js'.
Removed swaggerRouter, replaced it with openapiRouter
Routing works and simple tests show a return of 200 to requests.
* [nodejs-express-server] various updates, fixes (#3319)
* various fix
* remove dot from service
* add space
* better method empty argument
* remove test service (#3379)
* add new doc
* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData
2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.
* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData (#3442)
2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.
* added model classes. Currently as a concept only. Seems like won't be in use
* Updated README.md to be a detailed description of the project.
Removed test files that are not needed.
Removed utils/writer.js which is not needed, and the references to it in the codegen files
* Removed redundant file app.js - this file has no benefit at this point. index.js now calls ExpressServer.js directly. Updated files that used to call app.js. Updated README.md accordingly
Added a path to call the openapi.yaml, and a test file for all endpoints that are not in the openapi.yaml, ensuring that they return 200. Updated README.md accordingly
* Remove test controller (#3575)
* remove test controller
* add back changes to templates
* remove app.js
* update wording