Compare commits

...

85 Commits

Author SHA1 Message Date
Jérémie Bresson
6a414af13f 4.0.0-beta2 release (#2036) 2019-02-01 00:00:22 +01:00
William Cheng
453eeb9e40 Add Bearer authentication to PHP API client (#2013)
* add php bearer auth support

* add partial mustache

* add bearer format

* update php ze-ph samples
2019-01-31 17:54:10 +08:00
William Cheng
6801741592 Add Bearer authentication support to JS client (#2020)
* add bearer authentication support to js client

* add bearer format to js client

* fix test case

* update php ze-ph samples
2019-01-31 15:27:24 +08:00
Daniel Miller
cbda3fad98 [C++][Client][C++ Rest SDK] Fix path parameters with format (#1987)
* Create parameterToString for shared_ptr<T>

* Update cpp-restsdk sample petstore client
2019-01-31 10:47:00 +08:00
William Cheng
f946492e7e update php ze-ph samples 2019-01-31 10:38:06 +08:00
William Cheng
562442764a update php ze-ph samples 2019-01-31 10:07:18 +08:00
William Cheng
2eb99f602a Add Bearer authentication support to Python client (#1999)
* add bearer auth support to python

* add bearer auth support to python

* update python oas2 petstore samples

* update samples

* add bearer format

* update php symfony samle
2019-01-30 22:16:53 +08:00
Arthur Mogliev
77d2de4e3d [PHP][php-ze-ph] Support for PHP 7.1+, Zend Expressive 3.2 and PathHander 0.4 (#1902)
* - support for PHP 7.1, Zend Expressive 3.2 and PathHander 0.4 for php-ze-ph generator

* - fixed mess with petstore samples (added new files, removed obsolete files)

* php-ze-ph:
- overwriting "*/*" media type for producers with "n/a" (PathHandler does not support that cause it makes no sense to return response with "Content-Type: */*")
- "array" return type declaration for handler methods with ambiguous "container" return type
- better way to generate attribute annotation stub for request body data with ambiguous "container" type
- fixed missing dependency in composer.json
- minor optimization for container.php
- samples for OAS3 petstore spec

* php-ze-ph:
- note about ext-yaml in stub README
- updated .gitignore

* php-ze-ph:
- logging '*/*' replacement as warning
2019-01-30 15:36:00 +08:00
Jérémie Bresson
c871e3bc81 [core] Handle referenced enum case correctly (#2001)
* [core] Handle referenced enum case correctly

* Update all samples

* Fix compile error after merge
2019-01-30 11:07:58 +08:00
Jérémie Bresson
02a8dad77c Document 'x-enum-descriptions' and 'x-enum-varnames' (#2010) 2019-01-29 13:56:37 +01:00
Dennis Kieselhorst
bcfa86d401 update CXF and Jackson to latest version (#2017) 2019-01-29 20:43:41 +08:00
William Cheng
83d34bd8d7 Add multiple servers support to JS API client (#1974)
* add multiple servers support to JS ES6

* multiple server support in js es5

* using exports in es5

* fix index check

* add oas v3 js es6 client to travis
2019-01-29 11:19:21 +08:00
Jérémie Bresson
046db19a85 [core] cleanup: remove OpenAPI parameter from CodegenConfig methods (#1953)
* Add OpenAPI parameter to DefaultCodegen#toDefaultValue(..)

* Remove CodegenConfig#fromOperation()

* Remove allDefinitions parameter from fromModel(..)

* Remove definitions parameter from CodegenConfig#fromOperation(..)

* remove schemas parameter from DefaultCodegen#fromRequestBody(..)

* remove schemas parameter from DefaultCodegen#fromCallback(..)

* Remove openAPI parameter from CodegenConfig#fromModel(..)

* Remove openAPI parameter from CodegenConfig#fromOperation(..)

* Remove openAPI parameter from DefaultCodegen#fromProperty(..)

* Remove openAPI parameter from DefaultCodegen#fromParameter(..)

* Remove OpenAPI parameter from several methods

* Use ModelUtils.getReferencedParameter(..)

* Remove unused variable

* Remove openAPI parameter from DefaultCodegen#fromResponse(..)

* Remove openAPI parameter from DefaultCodegen#addHeaders(..)

* Remove from addConsumesInfo(..)/addProducesInfo(..)

* Improve test: add property to prevent Pet from being a free-form object

* remove globalSchemas Map<String, Schema>

* remove deprecated method: postProcessOperations()

* Remove 'Map<String, Schema> allSchemas' from addProperties(..)

* Remove 'Map<String, Schema> allDefinitions' from createDiscriminator(..)

* Remove 'Map<String, Schema> allSchemas' from unaliasPropertySchema(..)

* Rename globalOpenAPI to openAPI

* Update documentation

* Run “Optimize import” in IntelliJ IDEA
2019-01-28 16:19:36 +08:00
MBcom
6f16b45976 added bearer authentication to typescript-angular package (#1986)
* added bearer authentication to typescript-angular package

* updated samples
2019-01-28 16:16:32 +08:00
William Cheng
7811390b7b Add multiple servers support to Python client (#1969)
* add multiple server support to python client

* various fixes

* minor fixes, add tests

* test oas2 python first

* fix tests

* fix issues reported by flake8

* update code format

* add python petstore to ensure up-to-date

* rearrange test

* fix E501

* fix tests

* add new files

* fix script permission

* fix index check

* update samples
2019-01-28 11:24:48 +08:00
William Cheng
887b688014 [Java] Generate OAuth related files only if OAuth security schema is used (#1907)
* optionally include oauth files in java client

* fix java templates

* fix tests

* fix CI issues
2019-01-28 11:05:37 +08:00
William Cheng
9029103c94 fix index check, add test cases (#1993) 2019-01-27 21:18:20 +08:00
William Cheng
c438f67b66 fix index, add test case in php client (#1994) 2019-01-27 20:29:59 +09:00
Yuriy Belenko
4f8164e713 [Slim] Update Readme (#1995)
* Add OpenAPI Generator link to readme

* Update Readme example to match config
2019-01-27 18:05:42 +08:00
William Cheng
706192980c update samples 2019-01-26 22:03:58 +08:00
gfeun
860b91e45e [lua] Allow connection on port != 80 or 443 (#1712)
* Allow connection on port != 80 or 443

In the current implementation a client can't connect on another port than 80 or 443
This commit allows to specify a host like "localhost:8080" when creating the client
The port is then used when initiating http requests

* Update Petstore Sample for CI

* Fix unused return value

* Update petstore sample

* Rename host parameter into authority
2019-01-26 21:05:22 +08:00
Joke Durnez
1a07bd6573 Bugfix/rheaders (#1965)
* debug headers in R client

* fixes to R client

* petstore samples

* missing space

* other space :)
2019-01-26 17:27:24 +08:00
Justin Black
9ec594eec5 [Spec] adds XmlItem model and route for xml testing (#1883)
* Adds xmlitem model and route, rest-assured Api suffix fix, updates pytest and pytest-cov versions

* Adds python client sample files

* Adds samples update

* Adds rest-assured sample client update

* Adds sample updates in ensure-up-to-date

* Changes rest-assured files back to master version, removes fix for issue #13

* Updates samples
2019-01-26 17:26:38 +08:00
William Cheng
65d9e859be Fix customized source folder in Java client (#1978)
* fix customized source folder in java client

* update samples
2019-01-25 21:05:13 +08:00
d3v-cl
bc6997f0e5 [DART2]: fix Map<String, nativeType> fromJson (#1936) 2019-01-25 10:54:46 +08:00
William Cheng
827e68ca1c jaz-ah to remain in the technical committee only 2019-01-24 22:20:08 +08:00
William Cheng
33b7547da3 Add multiple servers support to PHP client (#1964)
* add multiple server support

* update php samples

* update wording

* make variables optional
2019-01-24 11:32:03 +08:00
Paul Mundt
69323aec48 Update README.md (#1971)
Add Adaptant to the list of companies using the OpenAPI Generator
2019-01-24 10:42:11 +08:00
William Cheng
3757ffe0ba Add https://www.codecentric.de/ to company list (#1967) 2019-01-23 18:00:12 +08:00
William Cheng
3ea6cf356f Fix C# discriminator's mapping name (#1942)
* fix C# mapping name

* add back jsonsubtypes

* add new files
2019-01-23 15:54:24 +08:00
Esteban Marin
af634c77c4 update link to maven jar download to 3.3.4 (#1962)
* update link to maven jar download to 3.3.4

* revert change
2019-01-23 00:49:01 +08:00
Esteban Marin
e48a8fea1d fix link to online docs (#1960) 2019-01-23 00:48:43 +08:00
William Cheng
47e262fbb1 Add migration note about change in basePath (#1957)
* Add migration note about change in basePath

* update body parameter note
2019-01-22 16:56:27 +08:00
Inseok Lee
4ca7158aa2 Update README.md (#1959)
Add Cupix to company list
2019-01-22 16:55:49 +08:00
William Cheng
dce5ed229f add cname, ga id, remove readme (#1958) 2019-01-22 16:54:35 +08:00
William Cheng
e0de5d6135 Add Xero to company list (#1950) 2019-01-22 16:49:53 +08:00
William Cheng
4c5231ea7a Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-01-22 16:29:10 +08:00
William Cheng
2fa0e810bf update samples and docs 2019-01-22 16:23:16 +08:00
Uku Loskit
ab840ff000 In case of a Integer Enum, add N-prefix, because Ruby does not allow identifiers that start with numbers (#1945)
In case of a Integer Enum, add N-prefix, because Ruby does not allow identifiers that start with numbers
2019-01-22 16:16:52 +08:00
Jim Schubert
eeb3d7765b [website] Fix user link images (#1956) 2019-01-22 15:04:05 +08:00
William Cheng
2220a2ca85 Update website URL 2019-01-22 11:40:52 +08:00
Bernd
d33c4bb4a3 add new generator: typescript-rxjs (#1884)
* Merged in feature/rxjs (pull request #2)

Feature/rxjs

* feat: duplicate typescript-fetch, add docs

* duplicate fetch codegen to use for rxjs

* remove mapping helpers from modesl

* introduce rxjs, adjust apis

* make middlewares work

* fix namespace issue with babel

* fix enum generation

* fix formatting of enum

* remove other readme

* feat: duplicate typescript-fetch, add docs

* duplicate fetch codegen to use for rxjs

* remove mapping helpers from modesl

* introduce rxjs, adjust apis

* make middlewares work

* fix namespace issue with babel

* fix enum generation

* fix formatting of enum

* remove other readme

* add bash scripts to generate samples

* remove environment import

* add rxjs dependency to package.mustache

* add genereated samples

* add docs

* add windows scripts

* adjust license info

* update "ensure-up-to-date" by typescript-rxjs

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-rxjs/apis.mustache

Co-Authored-By: denyo <hacker.bernd@gmail.com>

* fix missing return for Observable<void>

* use shorthand syntax

* improve linting

* improve linting

* revert previous changes

* Revert "Update modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache"

This reverts commit 26f65ca4ce.

* recreate typescript-rxjs samples
2019-01-21 23:26:18 +08:00
Jérémie Bresson
956512a9bf [java-jaxrs] Add Javadoc to enum (x-enum-descriptions) (#1951) 2019-01-21 23:24:56 +08:00
Jérémie Bresson
b2bebe914e Update Unblu Logo (#1954) 2019-01-21 21:34:25 +08:00
William Cheng
b27d99088c minor update to the website (#1952) 2019-01-21 21:23:20 +08:00
William Cheng
38ea7952bb fix image urls 2019-01-21 11:13:12 +08:00
William Cheng
95a1ff1ab1 update base url to website 2019-01-21 10:14:03 +08:00
William Cheng
f415332406 update java default value (#1949) 2019-01-21 01:47:49 +08:00
Jérémie Bresson
06824622bf [html] Use ModelUtils to avoid NullPointerException (#1948) 2019-01-21 00:51:18 +08:00
eddy
c16354218a SCM and license parameters are now also for resteasy clients available. (#1934) 2019-01-20 23:01:48 +08:00
William Cheng
c51f333f6c update docs 2019-01-18 18:35:30 +08:00
Jim Schubert
6fe9a52229 [feat][docs][website] Initial docusaurus based site (#1770)
* Iniital docusaurus based site

* Remove error about default local being used by String.format

* Change pinned users to represent global presence rather than alphabetical order pinning

* Include generator indexes in ensure-up-to-date (docusaurus site and /generators/README)

* Add Font Awesome attribution footer

* Remove feature callout until it is completed

* Include NPM try it out section

* Improve "Getting Started" type docs

* Include new custom template documentation

* Updating templating and customization docs

* Add vendor extension docs

* Cleanup templating page(s).

* Move users to yaml file for easy edit.

* travis configuration, and baseUrl mods to image URLs

* [docs] Migrate FAQ, release summary  from wiki

FAQ has been split into multiple smaller documents to better categorize
and allow users to find what they're looking for (in docs folder or in
new website).

Release summary information (versioning strategy and cadence) has been
migrated from the Wiki and clarified a bit.

Also adds copy button for all code snippets in website.

* Copy current contributing/code of conduct to website

* [docs] Creating a new generator
2019-01-18 17:39:33 +08:00
Jérémie Bresson
9cba9b6f88 [Swagger-Parser] Update to version 2.0.8-OpenAPITools.org-2 (#1924) 2019-01-18 10:29:53 +01:00
William Cheng
4df8c3cf64 update csharp samples 2019-01-18 17:00:10 +08:00
Jyhess
17218117b9 Fix missing __init__.py (#1933) 2019-01-18 12:41:43 +08:00
Geoff Brown
f4133e726d Fixing response headers so that the values are turned into a comma delimted string instead of "System.String[]" (#1935) 2019-01-17 22:26:25 -05:00
William Cheng
7437084cd3 Add BIMData.io to company list 2019-01-17 22:11:29 +08:00
William Cheng
60323bf186 Add @Jyhess to Python tech committee 2019-01-17 22:09:39 +08:00
William Cheng
eee4849a5e use openjdk in shippable (#1929) 2019-01-17 12:26:26 +08:00
Max Inden
60ca0fb338 Add Prometheus/Alertmanager to README users list (#1926) 2019-01-16 22:00:44 +08:00
William Cheng
1676aefa8b [Java] Update okhttp version to the latest (#1897)
* update okhttp to latest version

* update templates to use okhttp3

* update java samples

* fix tests

* update tests under CI/samples.ci

* add tests to java client

* fix bin script to restore test files

* fix debugging

* add more tests and minor fixes

* update samples
2019-01-16 20:30:52 +08:00
Daniel Schreiber
192e366bff fixing wrong model file suffix when identical with model suffix (#1876)
relates to #1467
2019-01-16 18:23:14 +08:00
Nathan Broadbent
832b4ef512 Update README with FormAPI.io service (#1923)
We use openapi-generator to generate our API clients
2019-01-16 18:14:54 +08:00
na-o-ys
4117b2ebb1 [BUG][typescript-node] Generated package causes compilation errors (#1911)
* changed typescript-node build dir

* fixed missed json

* to pass integration test
2019-01-16 10:58:49 +08:00
William Cheng
e0137f670c Update Maven plugin README with new options (#1917)
Update Maven plugin README with new options
2019-01-16 10:32:28 +08:00
Silas Boyd-Wickizer
f5d6aaebb2 [TypeScript-Node] support setting the content-type header per-call (#1868)
* [TypeScript-Node] support setting the content-type header per-call

This approach is inspired by the typescript-fetch implementation in
swagger-codegen.

Fixes https://github.com/OpenAPITools/openapi-generator/issues/1867

* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache

Co-Authored-By: silasbw <silasbw@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache

Co-Authored-By: silasbw <silasbw@gmail.com>

* Update Petstore sample

* Fix types

* update "npm" petstore example

* Rename
2019-01-16 10:31:30 +08:00
Dec12 | Fujigon
df8137cf21 [JAVA][JAX-RS] don't forget to support @JsonValue for enum (#1833)
* don't forget to support JsonValue

* re-generate samples
2019-01-16 10:29:31 +08:00
Wouter
22ce88eb26 Fixed a small type (#1921)
This is a very little nitpick, but I hope it is useful anyway.
2019-01-16 10:21:23 +08:00
Akihito Nakano
dec852ca9f Add primitive type support (#1835) 2019-01-16 10:12:49 +08:00
William Cheng
03711d572f Rename graphql-server to graphql-nodejs-express-server (#1822)
* rename graphql server

* update windows batch file

* fix openpai3 shell script
2019-01-15 22:54:06 +08:00
sunn
963c002830 Update Readme for qt5 server (#1912) 2019-01-15 20:58:52 +08:00
William Cheng
2162d34ed7 Add Jyhess as the python aiohttp creator 2019-01-14 23:47:59 +08:00
Jim Schubert
db9102a440 Clean up file output handling (#1895)
* Clean up file output handling

This attempts to normalize all generators to use OS agnostic
File.separator.

It also cleans up some areas in code where we replace "." in full file
output path with File.separator. We should only be modifying directory
names we own, and should avoid modifying anything that can be provided
by a user.

It would probably be better to use Paths.get(…).toString() in all cases.

* Fix missed path separators in java codegen

* Adjust Java codegen path replacements

* Convert / in full path replacements, as / is forbidden in Windows, and noop elsewhere

* Use Paths.get where files are written, to better handle Windows path constraints
2019-01-14 22:49:39 +08:00
William Cheng
d2769e646e Add more patreon links
Add more patreon links
2019-01-14 22:13:36 +08:00
Akihito Nakano
b4fecd9f9e Remove unnecessary override (#1906) 2019-01-14 20:58:51 +08:00
Akihito Nakano
7674d11d75 Fix missing RequestBody.required of inline request body (#1847)
* Add test case that reproduce the issue #1782

* Fix missing RequestBody.required

* Update samples

./bin/utils/ensure-up-to-date

* Run ensure-up-to-date script

./bin/utils/ensure-up-to-date
2019-01-14 12:28:21 +08:00
こまど
1be9d66911 Add a link to @ky-yk-d article (#1903) 2019-01-14 13:15:00 +09:00
William Cheng
28c9b11195 Update issue checklist with an item to validate the input
Update issue checklist with an item to validate the input
2019-01-13 14:16:15 +08:00
William Cheng
470fc2065d better NPE handling for undefined request body (#1896) 2019-01-13 12:25:35 +08:00
William Cheng
4235390175 Add links to Patreon account (#1887) 2019-01-12 10:57:44 +08:00
Jyhess
80ca67cfda Python AIOHTTP server generator (#1470)
* Astract factory for generators based on connexion

* Add aiohttp server generator

* Fix flask tests

* Normalize python-flask folder names
2019-01-11 23:35:21 +08:00
Akihito Nakano
4652023b7c Fix a problem that points to a folder that doesn't exist (#1863)
* Add test case that reproduce issues

* Fix a problem that points to a folder that doesn't exist

* Improves for windows

* Run ensure-up-to-date script

./bin/utils/ensure-up-to-date
2019-01-11 19:16:45 +08:00
Jacob Floyd
00a9cfdbc9 Python: Update api_doc_example for multiple auth (#1870)
APIs may more than one auth method (for example both an app key and basic auth).
This changes the example to only initialize the config option once instead of once per auth method.
2019-01-11 19:15:03 +08:00
Jim Schubert
4fa926604f [gradle] Add 4 boolean properties supported by codegenConfigurator (#1881)
* [gradle] Add 4 boolean properties supported by codegenConfigurator

* [gradle] Add Windows workaround for Android Studio

After release 3.0.0, a guava dependency was updated and this exposed an
issue in Windows where Guava's CharMatcher.ASCII is called to validate a
path. The version of Guava referenced by OpenAPI Generator causes a
'NoSuchField' error because the referenced dependency names this static
field CharMatcher.Ascii.

This error is not surfaced on macOS, and appears to be Windows-specific.

This adds a potential workaround to the Gradle plugin's readme.

See #1818 for more details.
2019-01-11 19:14:05 +08:00
Jérémie Bresson
8305df6b4a [java-client][okhttp-gson] no oauth2 usage when hasOAuthMethods is false (#1872)
* Fix Javadoc error

* [java-client][okhttp-gson] no oauth2 usage when hasOAuthMethods is false
2019-01-10 22:00:45 +08:00
2124 changed files with 142355 additions and 14958 deletions

View File

@@ -10,6 +10,7 @@ assignees: ''
#### Bug Report Checklist
- [ ] Have you provided a full/minimal spec to reproduce the issue?
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apidevtools.org/swagger-parser/online/))?
- [ ] What's the version of OpenAPI Generator used?
- [ ] Have you search for related issues/PRs?
- [ ] What's the actual output vs expected output?

View File

@@ -3,7 +3,6 @@ language: java
jdk:
- openjdk8
cache:
directories:
- $HOME/.m2
@@ -34,6 +33,7 @@ cache:
- $HOME/samples/server/petstore/cpp-pistache/pistache
- $HOME/.npm
- $HOME/.rvm/gems/ruby-2.4.1
- $HOME/website/node_modules/
services:
- docker
@@ -102,6 +102,7 @@ before_install:
gpg --keyserver keyserver.ubuntu.com --recv-key $SIGNING_KEY ;
gpg --check-trustdb ;
fi;
- pushd .; cd website; npm install; popd
install:
# Add Godeps dependencies to GOPATH and PATH
@@ -152,6 +153,15 @@ after_success:
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME && echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME"; fi; fi
## docker: build cli image and push to Docker Hub
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && cp docker-entrypoint.sh ./modules/openapi-generator-cli && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME && echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; fi; fi
## publish latest website, variables below are secure environment variables which are unavailable to PRs from forks.
- if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
cd website;
git config --global user.name "${GH_NAME}";
git config --global user.email "${GH_EMAIL}";
echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc;
npm install;
GIT_USER="${GH_NAME}" npm run-script publish-gh-pages;
fi;
env:
- DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test CC=gcc-5 CXX=g++-5

View File

@@ -15,7 +15,7 @@ elif [ "$NODE_INDEX" = "2" ]; then
java -version
#export GO_POST_PROCESS_FILE="/usr/local/bin/gofmt -w"
# not formatting the code as different go versions may format the code a bit different
./bin/utils/ensure-up-to-date
# ./bin/utils/ensure-up-to-date
else
echo "Running node $NODE_INDEX to test 'samples.circleci.jdk7' defined in pom.xml ..."
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64

View File

@@ -157,11 +157,11 @@ public class ApiClientTest {
public void testGetAndSetConnectTimeout() {
// connect timeout defaults to 10 seconds
assertEquals(10000, apiClient.getConnectTimeout());
assertEquals(10000, apiClient.getHttpClient().getConnectTimeout());
assertEquals(10000, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(0);
assertEquals(0, apiClient.getConnectTimeout());
assertEquals(0, apiClient.getHttpClient().getConnectTimeout());
assertEquals(0, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(10000);
}
@@ -170,11 +170,11 @@ public class ApiClientTest {
public void testGetAndSetReadTimeout() {
// read timeout defaults to 10 seconds
assertEquals(10000, apiClient.getReadTimeout());
assertEquals(10000, apiClient.getHttpClient().getReadTimeout());
assertEquals(10000, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(0);
assertEquals(0, apiClient.getReadTimeout());
assertEquals(0, apiClient.getHttpClient().getReadTimeout());
assertEquals(0, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(10000);
}
@@ -183,11 +183,11 @@ public class ApiClientTest {
public void testGetAndSetWriteTimeout() {
// write timeout defaults to 10 seconds
assertEquals(10000, apiClient.getWriteTimeout());
assertEquals(10000, apiClient.getHttpClient().getWriteTimeout());
assertEquals(10000, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(0);
assertEquals(0, apiClient.getWriteTimeout());
assertEquals(0, apiClient.getHttpClient().getWriteTimeout());
assertEquals(0, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(10000);
}

View File

@@ -0,0 +1,358 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.api;
import org.openapitools.client.ApiException;
import org.openapitools.client.model.Pet;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.*;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import org.junit.*;
import static org.junit.Assert.*;
/**
* API tests for PetApi
*/
public class PetApiTest {
private PetApi api = new PetApi();
@Before
public void setup() {
// setup authentication
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) api.getApiClient().getAuthentication("api_key");
apiKeyAuth.setApiKey("special-key");
}
@Test
public void testApiClient() {
// the default api client is used
assertEquals(Configuration.getDefaultApiClient(), api.getApiClient());
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
ApiClient oldClient = api.getApiClient();
ApiClient newClient = new ApiClient();
newClient.setBasePath("http://example.com");
newClient.setDebugging(true);
// set api client via constructor
api = new PetApi(newClient);
assertNotNull(api.getApiClient());
assertEquals("http://example.com", api.getApiClient().getBasePath());
assertTrue(api.getApiClient().isDebugging());
// set api client via setter method
api.setApiClient(oldClient);
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
}
@Test
public void testCreateAndGetPet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
assertNotNull(fetched);
assertEquals(pet.getId(), fetched.getId());
assertNotNull(fetched.getCategory());
assertEquals(fetched.getCategory().getName(), pet.getCategory().getName());
}
@Test
public void testCreateAndGetPetWithHttpInfo() throws Exception {
Pet pet = createPet();
api.addPetWithHttpInfo(pet);
ApiResponse<Pet> resp = api.getPetByIdWithHttpInfo(pet.getId());
assertEquals(200, resp.getStatusCode());
assertEquals("application/json", resp.getHeaders().get("Content-Type").get(0));
Pet fetched = resp.getData();
assertNotNull(fetched);
assertEquals(pet.getId(), fetched.getId());
assertNotNull(fetched.getCategory());
assertEquals(fetched.getCategory().getName(), pet.getCategory().getName());
}
@Test
public void testCreateAndGetPetAsync() throws Exception {
Pet pet = createPet();
api.addPet(pet);
// to store returned Pet or error message/exception
final Map<String, Object> result = new HashMap<String, Object>();
api.getPetByIdAsync(pet.getId(), new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("error", e.getMessage());
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// the API call should be executed asynchronously, so result should be empty at the moment
assertTrue(result.isEmpty());
// wait for the asynchronous call to finish (at most 10 seconds)
final int maxTry = 10;
int tryCount = 1;
Pet fetched = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("error") != null) fail((String) result.get("error"));
if (result.get("pet") != null) {
fetched = (Pet) result.get("pet");
break;
}
} while (result.isEmpty());
assertNotNull(fetched);
assertEquals(pet.getId(), fetched.getId());
assertNotNull(fetched.getCategory());
assertEquals(fetched.getCategory().getName(), pet.getCategory().getName());
// test getting a nonexistent pet
result.clear();
api.getPetByIdAsync(-10000L, new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("exception", e);
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// wait for the asynchronous call to finish (at most 10 seconds)
tryCount = 1;
ApiException exception = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("pet") != null) fail("expected an error");
if (result.get("exception") != null) {
exception = (ApiException) result.get("exception");
break;
}
} while (result.isEmpty());
assertNotNull(exception);
assertEquals(404, exception.getCode());
assertEquals("Not Found", exception.getMessage());
assertEquals("application/json", exception.getResponseHeaders().get("Content-Type").get(0));
}
@Test
public void testUpdatePet() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
api.updatePet(pet);
Pet fetched = api.getPetById(pet.getId());
assertNotNull(fetched);
assertEquals(pet.getId(), fetched.getId());
assertNotNull(fetched.getCategory());
assertEquals(fetched.getCategory().getName(), pet.getCategory().getName());
}
@Test
public void testFindPetsByStatus() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
pet.setStatus(Pet.StatusEnum.PENDING);
api.updatePet(pet);
List<Pet> pets = api.findPetsByStatus(Arrays.asList("pending"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
public void testFindPetsByTags() throws Exception {
Pet pet = createPet();
pet.setName("monster");
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<Tag> tags = new ArrayList<Tag>();
Tag tag1 = new Tag();
tag1.setName("friendly");
tags.add(tag1);
pet.setTags(tags);
api.updatePet(pet);
List<Pet> pets = api.findPetsByTags(Arrays.asList("friendly"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
public void testUpdatePetWithForm() throws Exception {
Pet pet = createPet();
pet.setName("frank");
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.updatePetWithForm(fetched.getId(), "furt", null);
Pet updated = api.getPetById(fetched.getId());
assertEquals(updated.getName(), "furt");
}
@Test
public void testDeletePet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.deletePet(fetched.getId(), null);
try {
fetched = api.getPetById(fetched.getId());
fail("expected an error");
} catch (ApiException e) {
assertEquals(404, e.getCode());
}
}
@Test
public void testUploadFile() throws Exception {
Pet pet = createPet();
api.addPet(pet);
File file = new File("hello.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write("Hello world!");
writer.close();
api.uploadFile(pet.getId(), "a test file", new File(file.getAbsolutePath()));
}
@Test
public void testEqualsAndHashCode() {
Pet pet1 = new Pet();
Pet pet2 = new Pet();
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
pet2.setName("really-happy");
pet2.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertFalse(pet1.equals(pet2));
assertFalse(pet2.equals(pet1));
assertFalse(pet1.hashCode() == (pet2.hashCode()));
assertTrue(pet2.equals(pet2));
assertTrue(pet2.hashCode() == pet2.hashCode());
pet1.setName("really-happy");
pet1.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
}
private Pet createPet() {
Pet pet = new Pet();
pet.setId(1234567L);
pet.setName("gorilla");
Category category = new Category();
category.setName("really-happy");
pet.setCategory(category);
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<String> photos = Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2");
pet.setPhotoUrls(photos);
return pet;
}
private String serializeJson(Object o, ApiClient apiClient) {
return apiClient.getJSON().serialize(o);
}
private <T> T deserializeJson(String json, Type type, ApiClient apiClient) {
return (T) apiClient.getJSON().deserialize(json, type);
}
}

View File

@@ -38,7 +38,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
| | Languages/Frameworks |
|-|-|
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node)
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node, Rxjs)
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
**API documentation generators** | **HTML**, **Confluence Wiki**
**Configuration files** | [**Apache2**](https://httpd.apache.org/)
@@ -88,7 +88,7 @@ For old releases, please refer to the [**Release**](https://github.com/OpenAPITo
## [1.2 - Artifacts on Maven Central](#table-of-contents)
You can find our released artefacts on maven central:
You can find our released artifacts on maven central:
**Core:**
```xml
@@ -374,7 +374,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
```
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g php -o c:\temp\php_api_client`)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.0/openapi-generator-cli-3.0.0.jar)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar)
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -485,7 +485,7 @@ The server is sponsored by [Linode](https://www.linode.com/) [![Linode Logo](htt
(These services are beta and do not have any guarantee on service level)
Please refer to [online-openapi-generator.md](docs/online-openapi-generator.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
Please refer to [online.md](docs/online.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
### [3.4 - License information on Generated Code](#table-of-contents)
@@ -499,17 +499,23 @@ When code is generated from this project, it shall be considered **AS IS** and o
## [4 - Companies/Projects using OpenAPI Generator](#table-of-contents)
Here are some companies/projects (alphabetical order) using OpenAPI Generator in production. To add your company/project to the list, please visit [README.md](README.md) and click on the icon to edit the page.
- [Adaptant Solutions AG](https://www.adaptant.io/)
- [Angular.Schule](https://angular.schule/)
- [ASKUL](https://www.askul.co.jp)
- [b<>com](https://b-com.com/en)
- [BIMData.io](https://bimdata.io)
- [Bithost GmbH](https://www.bithost.ch)
- [Boxever](https://www.boxever.com/)
- [codecentric AG](https://www.codecentric.de/)
- [Cupix](https://www.cupix.com/)
- [FormAPI](https://formapi.io/)
- [GenFlow](https://github.com/RepreZen/GenFlow)
- [GMO Pepabo](https://pepabo.com/en/)
- [JustStar](https://www.juststarinfo.com)
- [Klarna](https://www.klarna.com/)
- [Metaswitch](https://www.metaswitch.com/)
- [Myworkout](https://myworkout.com)
- [Prometheus/Alertmanager](https://github.com/prometheus/alertmanager)
- [Raiffeisen Schweiz Genossenschaft](https://www.raiffeisen.ch)
- [RepreZen API Studio](https://www.reprezen.com/swagger-openapi-code-generation-api-first-microservices-enterprise-development)
- [REST United](https://restunited.com)
@@ -518,6 +524,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Telstra](https://dev.telstra.com)
- [TUI InfoTec GmbH](http://www.tui-infotec.com/)
- [unblu inc.](https://www.unblu.com/)
- [Xero](https://www.xero.com/)
- [Zalando](https://www.zalando.com)
## [5 - Presentations/Videos/Tutorials/Books](#table-of-contents)
@@ -536,6 +543,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2018/11/19 - [OpenAPIs are everywhere](https://youtu.be/-lDot4Yn7Dg) by [Jeremie Bresson (Unblu)](https://github.com/jmini) at [EclipseCon Europe 2018](https://www.eclipsecon.org/europe2018)
- 2018/12/09 - [openapi-generator をカスタマイズする方法](https://qiita.com/watiko/items/0961287c02eac9211572) by [@watiko](https://qiita.com/watiko)
- 2019/01/03 - [Calling a Swagger service from Apex using openapi-generator](https://lekkimworld.com/2019/01/03/calling-a-swagger-service-from-apex-using-openapi-generator/) by [Mikkel Flindt Heisterberg](https://lekkimworld.com)
- 2019/01/13 - [OpenAPI GeneratorでRESTful APIの定義書から色々自動生成する](https://ky-yk-d.hatenablog.com/entry/2019/01/13/234108) by [@ky_yk_d](https://twitter.com/ky_yk_d)
## [6 - About Us](#table-of-contents)
@@ -544,14 +552,15 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
OpenAPI Generator core team members are contributors who have been making significant contributions (review issues, fix bugs, make enhancements, etc) to the project on a regular basis.
#### Core Team Members
* [@wing328](https://github.com/wing328) (2015/07)
* [@jimschubert](https://github.com/jimschubert) (2016/05)
* [@wing328](https://github.com/wing328) (2015/07) [:heart:](https://www.patreon.com/wing328)
* [@jimschubert](https://github.com/jimschubert) (2016/05) [:heart:](https://www.patreon.com/jimschubert)
* [@cbornet](https://github.com/cbornet) (2016/05)
* [@jaz-ah](https://github.com/jaz-ah) (2016/05)
* [@ackintosh](https://github.com/ackintosh) (2018/02)
* [@ackintosh](https://github.com/ackintosh) (2018/02) [:heart:](https://www.patreon.com/ackintosh/overview)
* [@JFCote](https://github.com/JFCote) (2018/03)
* [@jmini](https://github.com/jmini) (2018/04)
:heart: = Link to support the contributor directly
#### Template Creator
Here is a list of template creators:
* API Clients:
@@ -559,11 +568,11 @@ Here is a list of template creators:
* Akka-Scala: @cchafer
* Apex: @asnelling
* Bash: @bkryza
* C: @PowerOfCreation @zhemant
* C: @PowerOfCreation @zhemant [:heart:](https://www.patreon.com/zhemant)
* C++ REST: @Danielku15
* C# (.NET 2.0): @who
* C# (.NET Standard 1.3 ): @Gronsak
* C# (.NET 4.5 refactored): @jimschubert
* C# (.NET 4.5 refactored): @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Clojure: @xhh
* Dart: @yissachar
* Dart (refactor): @joernahrens
@@ -575,7 +584,7 @@ Here is a list of template creators:
* Erlang: @tsloughter
* Erlang (PropEr): @jfacorro @robertoaloi
* Groovy: @victorgit
* Go: @wing328
* Go: @wing328 [:heart:](https://www.patreon.com/wing328)
* Go (rewritten in 2.3.0): @antihax
* Haskell (http-client): @jonschoning
* Java (Feign): @davidkiss
@@ -593,9 +602,9 @@ Here is a list of template creators:
* Javascript (Closure-annotated Angular) @achew22
* Javascript (Flow types) @jaypea
* JMeter: @davidkiss
* Kotlin: @jimschubert
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Lua: @daurnimator
* Perl: @wing328
* Perl: @wing328 [:heart:](https://www.patreon.com/wing328)
* PHP (Guzzle): @baartosz
* PowerShell: @beatcracker
* R: @ramnov
@@ -613,9 +622,10 @@ Here is a list of template creators:
* TypeScript (Fetch): @leonyu
* TypeScript (jQuery): @bherila
* TypeScript (Node): @mhardorf
* TypeScript (Rxjs): @denyo
* Server Stubs
* Ada: @stcarrez
* C# ASP.NET5: @jimschubert
* C# ASP.NET5: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* C# NancyFX: @mstefaniuk
* C++ (Qt5 QHttpEngine): @etherealjoy
* C++ Pistache: @sebymiano
@@ -634,16 +644,17 @@ Here is a list of template creators:
* JAX-RS CXF: @hiveship
* JAX-RS CXF (CDI): @nickcmaynard
* JAX-RS RestEasy (JBoss EAP): @jfiala
* Kotlin: @jimschubert
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (Spring Boot): @dr4ke616
* PHP Laravel: @renepardon
* PHP Lumen: @abcsun
* PHP Slim: @jfastnacht
* PHP Symfony: @ksm2
* PHP Zend Expressive (with Path Handler): @Articus
* Python AIOHTTP: @Jyhess
* Ruby on Rails 5: @zlx
* Rust (rust-server): @metaswitch
* Scala Finch: @jimschubert
* Scala Finch: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Scala Lagom: @gmkumar2005
* Documentation
* HTML Doc 2: @jhitchcock
@@ -651,9 +662,11 @@ Here is a list of template creators:
* Configuration
* Apache2: @stkrwork
* Schema
* GraphQL: @wing328
* GraphQL: @wing328 [:heart:](https://www.patreon.com/wing328)
* MySQL: @ybelenko
:heart: = Link to support the contributor directly
#### How to join the core team
Here are the requirements to become a core team member:
@@ -692,7 +705,7 @@ If you want to join the committee, please kindly apply by sending an email to te
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
| C | @zhemant (2018/11) |
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @fvarose (2017/11) @etherealjoy (2018/02) @martindelille (2018/03) |
| C# | @mandrean (2017/08) @jimschubert (2017/09) |
| C# | @mandrean (2017/08), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert) |
| Clojure | |
| Dart | @ircecho (2017/07) @swipesight (2018/09) @jaumard (2018/09) |
| Eiffel | @jvelilla (2017/09) |
@@ -704,21 +717,23 @@ If you want to join the committee, please kindly apply by sending an email to te
| Groovy | |
| Haskell | |
| Java | @bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) |
| Kotlin | @jimschubert (2017/09) @dr4ke616 (2018/08) |
| Kotlin | @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @dr4ke616 (2018/08) |
| Lua | @daurnimator (2017/08) |
| NodeJS/Javascript | @CodeNinjai (2017/07) @frol (2017/07) @cliffano (2017/07) |
| ObjC | |
| Perl | @wing328 (2017/07) |
| PHP | @jebentier (2017/07) @dkarlovi (2017/07) @mandrean (2017/08) @jfastnacht (2017/09) @ackintosh (2017/09) @ybelenko (2018/07) @renepardon (2018/12) |
| Perl | @wing328 (2017/07) [:heart:](https://www.patreon.com/wing328) |
| PHP | @jebentier (2017/07), @dkarlovi (2017/07), @mandrean (2017/08), @jfastnacht (2017/09), @ackintosh (2017/09) [:heart:](https://www.patreon.com/ackintosh/overview), @ybelenko (2018/07), @renepardon (2018/12) |
| PowerShell | |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) @Jyhess (2019/01) |
| R | |
| Ruby | @cliffano (2017/07) @zlx (2017/09) |
| Rust | @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12) |
| Scala | @clasnake (2017/07) @jimschubert (2017/09) @shijinkui (2018/01) @ramzimaalej (2018/03) |
| Scala | @clasnake (2017/07), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @shijinkui (2018/01), @ramzimaalej (2018/03) |
| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) @d-date (2018/03) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @nicokoenig (2018/09) @topce (2018/10) |
:heart: = Link to support the contributor directly
### [6.3 - History of OpenAPI Generator](#table-of-contents)
OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/swagger-codegen). In view of the issues with the Swagger Codegen 3.0.0 (beta) release and the disagreement on the project's direction, more than 40 top contributors and template creators of Swagger Codegen decided to fork Swagger Codegen and maintain a community-driven version called "OpenAPI Generator". Please refer to the [Q&A](docs/qna.md) for more information.
@@ -766,7 +781,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [Vlad Frolov](https://github.com/frol)
- [Vladimir Pouzanov](https://github.com/farcaller)
- [William Cheng](https://github.com/wing328)
- [Xin Meng](https://github.com/xmeng1)
- [Xin Meng](https://github.com/xmeng1) [:heart:](https://www.patreon.com/user/overview?u=16435385)
- [Xu Hui Hui](https://github.com/xhh)
- [antihax](https://github.com/antihax)
- [beatcracker](https://github.com/beatcracker)
@@ -775,6 +790,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [jfiala](https://github.com/jfiala)
- [lukoyanov](https://github.com/lukoyanov)
:heart: = Link to support the contributor directly
## [7 - License](#table-of-contents)
-------

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
ags="generate -t modules/openapi-generator/src/main/resources/graphql-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-server -o samples/server/petstore/graphql-server -DpackageName=petstore $@"
ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -34,9 +34,9 @@ find samples/client/petstore/java/okhttp-gson -maxdepth 1 -type f ! -name "READM
java $JAVA_OPTS -jar $executable $ags
# copy additional manually written unit-tests
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth
mkdir samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth
mkdir -p samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model
cp CI/samples.ci/client/petstore/java/test-manual/common/StringUtilTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/StringUtilTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/ApiClientTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/ApiClientTest.java
@@ -45,5 +45,6 @@ cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/auth/ApiKeyAuthTes
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/auth/HttpBasicAuthTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/auth/HttpBasicAuthTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/EnumValueTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/EnumValueTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/PetTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/PetTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/ArrayOfArrayOfNumberOnly.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnlyTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/model/ArrayOfArrayOfNumberOnlyTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnlyTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java
cp CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/api/PetApiTest.java samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/api/PetApiTest.java

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,42 +0,0 @@
#!/bin/bash
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
# Make sure that the working directory is the root dir
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "${SCRIPT_DIR}/../"
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
# Make sure that we are regenerating the sample by removing any existing target directory
TARGET_DIR="$SCRIPT_DIR/../../samples/server/petstore/graphql-server"
if [ -d "$TARGET_DIR" ]; then
rm -rf $TARGET_DIR
fi
executable="$SCRIPT_DIR/../../modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $SCRIPT_DIR/../../modules/openapi-generator/src/main/resources/graphql-server -i $SCRIPT_DIR/../../modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g graphql-server -o $TARGET_DIR $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,34 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Javascript/es6 \
-i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript \
-o samples/openapi3/client/petstore/javascript-es6 $@"
java -DappName=PetstoreClient $JAVA_OPTS -jar $executable $ags

View File

@@ -25,9 +25,12 @@ then
mvn -B clean package
fi
input=modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
out_folder=samples/server/openapi3/petstore/php-ze-ph
resources=modules/openapi-generator/src/main/resources/ze-ph
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/flaskConnexion -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion -Dservice $@"
ags="generate -t $resources -i $input -g php-ze-ph -o $out_folder $@"
rm -rf samples/server/petstore/flaskConnexion/*
java $JAVA_OPTS -jar $executable $ags

View File

@@ -26,9 +26,25 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion-python2 -DsupportPython2=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/flaskConnexion -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion-python2 -c bin/supportPython2.json -D service $@"
input=modules/openapi-generator/src/test/resources/3_0/petstore.yaml
out_folder=samples/server/openapi3/petstore/python-flask-python2
resources=modules/openapi-generator/src/main/resources/python-flask
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $resources -i $input -g python-flask -o $out_folder -c bin/supportPython2.json -D service $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
rm $out_folder/.dockerignore
rm $out_folder/.gitignore
rm $out_folder/.travis.yml
rm $out_folder/Dockerfile
rm $out_folder/git_push.sh
rm $out_folder/README.md
rm $out_folder/requirements.txt
rm $out_folder/setup.py
rm $out_folder/test-requirements.txt
rm $out_folder/tox.ini
rm -rf samples/server/petstore/flaskConnexion-python2/*
java $JAVA_OPTS -jar $executable $ags

View File

@@ -26,8 +26,25 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/flaskConnexion -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion -Dservice $@"
input=modules/openapi-generator/src/test/resources/3_0/petstore.yaml
out_folder=samples/server/openapi3/petstore/python-flask
resources=modules/openapi-generator/src/main/resources/python-flask
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $resources -i $input -g python-flask -o $out_folder -Dservice $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
rm $out_folder/.dockerignore
rm $out_folder/.gitignore
rm $out_folder/.travis.yml
rm $out_folder/Dockerfile
rm $out_folder/git_push.sh
rm $out_folder/README.md
rm $out_folder/requirements.txt
rm $out_folder/setup.py
rm $out_folder/test-requirements.txt
rm $out_folder/tox.ini
rm -rf samples/server/petstore/flaskConnexion/*
java $JAVA_OPTS -jar $executable $ags

View File

@@ -22,13 +22,11 @@ executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
mvn clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion-python2 -DsupportPython2=true $@"
ags="generate -t modules/openapi-generator/src/main/resources/flaskConnexion -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g python-flask -o samples/server/petstore/flaskConnexion-python2 -c bin/supportPython2.json -D service $@"
ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/openapi3/client/petstore/python/ -DpackageName=petstore_api $@"
rm -rf samples/server/petstore/flaskConnexion-python2/*
java $JAVA_OPTS -jar $executable $ags

View File

@@ -25,8 +25,12 @@ then
mvn -B clean package
fi
input=modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
out_folder=samples/server/petstore/php-ze-ph
resources=modules/openapi-generator/src/main/resources/ze-ph
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/ze-ph -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g php-ze-ph -o samples/server/petstore/php-ze-ph $@"
ags="generate -t $resources -i $input -g php-ze-ph -o $out_folder $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,4 +0,0 @@
#!/bin/sh
./bin/python-flask-petstore.sh
./bin/python-flask-petstore-python2.sh

View File

@@ -0,0 +1,44 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
generator=python-aiohttp
input=modules/openapi-generator/src/test/resources/2_0/petstore.yaml
out_folder=samples/server/petstore/$generator
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $resources -i $input -g $generator -o $out_folder -Dservice $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
rm -rf $out_folder/tests*
rm $out_folder/README.md
rm $out_folder/requirements.txt
rm $out_folder/test-requirements.txt
java $JAVA_OPTS -jar $executable $ags

5
bin/python-server-all.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
./bin/python-server-aiohttp-petstore.sh
./bin/python-server-flask-petstore.sh
./bin/python-server-flask-petstore-python2.sh

View File

@@ -0,0 +1,50 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
generator=python-flask
input=modules/openapi-generator/src/test/resources/2_0/petstore.yaml
out_folder=samples/server/petstore/$generator-python2
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $resources -i $input -g $generator -o $out_folder -c bin/supportPython2.json -D service $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
rm $out_folder/.dockerignore
rm $out_folder/.gitignore
rm $out_folder/.travis.yml
rm $out_folder/Dockerfile
rm $out_folder/git_push.sh
rm $out_folder/README.md
rm $out_folder/requirements.txt
rm $out_folder/setup.py
rm $out_folder/test-requirements.txt
rm $out_folder/tox.ini
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,50 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
generator=python-flask
input=modules/openapi-generator/src/test/resources/2_0/petstore.yaml
out_folder=samples/server/petstore/$generator
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t $resources -i $input -g $generator -o $out_folder -Dservice $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
rm $out_folder/.dockerignore
rm $out_folder/.gitignore
rm $out_folder/.travis.yml
rm $out_folder/Dockerfile
rm $out_folder/git_push.sh
rm $out_folder/README.md
rm $out_folder/requirements.txt
rm $out_folder/setup.py
rm $out_folder/test-requirements.txt
rm $out_folder/tox.ini
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,6 @@
{
"npmName": "@swagger/node-typescript-petstore",
"npmVersion": "0.0.1",
"npmRepository": "https://skimdb.npmjs.com/registry",
"snapshot": false
}

View File

@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-node -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-node/npm $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-node -c bin/typescript-node-petstore-npm.json -o samples/client/petstore/typescript-node/npm $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,6 @@
#!/bin/sh
./bin/typescript-rxjs-petstore-target-es6.sh
./bin/typescript-rxjs-petstore-with-npm-version.sh
./bin/typescript-rxjs-petstore-interfaces.sh
./bin/typescript-rxjs-petstore.sh

View File

@@ -22,11 +22,11 @@ executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/ze-ph -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g php-ze-ph -o samples/server/petstore/ze-ph $@"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/with-interfaces -D withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,7 @@
{
"npmName": "@swagger/typescript-rxjs-petstore",
"npmVersion": "1.0.0",
"npmRepository" : "https://skimdb.npmjs.com/registry",
"snapshot" : false,
"supportsES6": true
}

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -c bin/typescript-rxjs-petstore-target-es6.json -o samples/client/petstore/typescript-rxjs/builds/es6-target $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -0,0 +1,6 @@
{
"npmName": "@swagger/typescript-rxjs-petstore",
"npmVersion": "1.0.0",
"npmRepository" : "https://skimdb.npmjs.com/registry",
"snapshot" : false
}

View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -c bin/typescript-rxjs-petstore-with-npm-version.json -o samples/client/petstore/typescript-rxjs/builds/with-npm-version $@"
java $JAVA_OPTS -jar $executable $ags

32
bin/typescript-rxjs-petstore.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/default $@"
java $JAVA_OPTS -jar $executable $ags

34
bin/utils/copy-to-website.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
conduct_in=CODE_OF_CONDUCT.md
contrib_in=CONTRIBUTING.md
conduct_out=docs/conduct.md
contrib_out=docs/contributing.md
\rm -rf "${conduct_out}"
\rm -rf "${contrib_out}"
cat > "${conduct_out}" << EOF
---
id: code-of-conduct
title: Code of Conduct
---
$(tail -n +3 "${conduct_in}")
EOF
echo "Wrote $(pwd)/${conduct_out}"
cat > "${contrib_out}" << EOF
---
id: contributing
title: Guidelines For Contributing
sidebar_label: Guidelines
---
$(tail -n +3 "${contrib_in}")
EOF
echo "Wrote $(pwd)/${contrib_out}"

View File

@@ -21,6 +21,8 @@ declare -a scripts=("./bin/openapi3/ruby-client-petstore.sh"
"./bin/kotlin-client-threetenbp.sh"
"./bin/kotlin-server-petstore.sh"
"./bin/mysql-schema-petstore.sh"
"./bin/python-petstore.sh"
"./bin/openapi3/python-petstore.sh"
"./bin/php-petstore.sh"
"./bin/php-silex-petstore-server.sh"
"./bin/php-symfony-petstore.sh"
@@ -32,11 +34,15 @@ declare -a scripts=("./bin/openapi3/ruby-client-petstore.sh"
"./bin/typescript-fetch-petstore-all.sh"
"./bin/typescript-node-petstore-all.sh"
"./bin/typescript-inversify-petstore.sh"
"./bin/typescript-rxjs-petstore.sh"
"./bin/rust-server-petstore.sh"
"./bin/haskell-http-client-petstore.sh"
"./bin/csharp-petstore.sh"
"./bin/meta-codegen.sh"
"./bin/utils/export_docs_generators.sh"
"./bin/utils/export_generators_docusaurus_index.sh"
"./bin/utils/copy-to-website.sh"
"./bin/utils/export_generators_readme.sh"
"./bin/go-petstore.sh"
"./bin/go-gin-petstore-server.sh")

View File

@@ -14,6 +14,4 @@ fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
java -jar ${executable} config-help -g ${NAME} --named-header -o docs/generators/${NAME}.md
echo "Back to the [generators list](README.md)" >> docs/generators/${NAME}.md
java -jar ${executable} config-help -g ${NAME} --named-header --format markdown --markdown-header -o docs/generators/${NAME}.md

View File

@@ -0,0 +1,20 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
\rm -rf docs/generators.md
cat > docs/generators.md << EOF
---
id: generators
title: Generators List
---
EOF
java -jar $executable list --docsite >> docs/generators.md
echo "Wrote $(pwd)/docs/generators.md"

View File

@@ -5,4 +5,16 @@ echo "# START SCRIPT: $SCRIPT"
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
java -jar $executable list | sed -e 's/\([A-Z]*\) generators:/* \1 generators:/g' -e 's/- \([a-z0-9\-]*\)/- [\1]\(\1.md\)/g' > docs/generators/README.md
\rm -rf docs/generators.md
cat > docs/generators.md << EOF
---
id: generators
title: Generators List
---
EOF
java -jar $executable list | sed -e 's/\([A-Z]*\) generators:/* \1 generators:/g' -e 's/- \([a-z0-9\-]*\)/- [\1]\(generators\/\1.md\)/g' >> docs/generators.md
echo "Wrote $(pwd)/docs/generators.md"

View File

@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -t modules\openapi-generator\src\main\resources\graphql-server -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g graphql-server -o samples\server\petstore\graphql-server
set ags=generate -t modules\openapi-generator\src\main\resources\graphql-nodejs-express-server -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g graphql-nodejs-express-server -o samples\server\petstore\graphql-nodejs-express-server
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\flaskConnexion-python2 -c bin\supportPython2.json -D service
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask-python2 -c bin\supportPython2.json -D service
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\flaskConnexion -D service
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask -D service
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -g typescript-node -o samples\client\petstore\typescript-node\npm
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -c bin\typescript-node-petstore-npm.json -g typescript-node -o samples\client\petstore\typescript-node\npm
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -0,0 +1,6 @@
@ECHO OFF
call bin\windows\typescript-rxjs-petstore.bat
call bin\windows\typescript-rxjs-petstore-target-es6.bat
call bin\windows\typescript-rxjs-petstore-with-npm-version.bat
call bin\windows\typescript-rxjs-petstore-interfaces.bat

View File

@@ -0,0 +1,12 @@
@ECHO OFF
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
If Not Exist %executable% (
mvn clean package
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\with-interfaces -D withInterfaces=true
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -0,0 +1,12 @@
@ECHO OFF
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
If Not Exist %executable% (
mvn clean package
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -c bin\typescript-rxjs-petstore-target-es6.json -o samples\client\petstore\typescript-rxjs\builds\es6-target
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -0,0 +1,12 @@
@ECHO OFF
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
If Not Exist %executable% (
mvn clean package
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -c bin\typescript-rxjs-petstore-with-npm-version.json -o samples\client\petstore\typescript-rxjs\builds\with-npm-version
java %JAVA_OPTS% -jar %executable% %ags%

View File

@@ -0,0 +1,14 @@
@ECHO OFF
set executable=.\modules\openapi-generator-cli\target\openapi-generator-cli.jar
If Not Exist %executable% (
mvn clean package
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
echo
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\default
java %JAVA_OPTS% -jar %executable% %ags%

18
docker-compose.yml Executable file
View File

@@ -0,0 +1,18 @@
version: "3"
services:
docusaurus:
build: .
ports:
- 3000:3000
- 35729:35729
volumes:
- ./docs:/app/docs
- ./website/blog:/app/website/blog
- ./website/core:/app/website/core
- ./website/i18n:/app/website/i18n
- ./website/pages:/app/website/pages
- ./website/static:/app/website/static
- ./website/sidebars.json:/app/website/sidebars.json
- ./website/siteConfig.js:/app/website/siteConfig.js
working_dir: /app/website

View File

@@ -1,361 +1,362 @@
## Docker
7dfd94002 Docker: use correct MAVEN_CONFIG (#182)
b5a0d173d Revise the usage of OpenAPI Generator online (docker image) (#73)
e58dc2c77 Fix COPY in Dockerfile (#64)
9d7feaaeb Fix online generator (docker push) (#58)
9247cd01e Changes for Docker
64037ee59 update docker-related files to ues jdk8
---
id: release-3-0-0
title: Release Notes: 3.0.0
sidebar_label: Release Notes: 3.0.0
---
## Plug-ins
b6b8c0db8 [gradle-plugin] Initial implementation (#162)
0a28aad73 [MAVEN PLUGIN] Checking for null configOptions before looking for property
9c79297d6 [MAVEN PLUGIN] Use latest version in dependencies snippet
9e1bbe0c1 Add maven wrapper
* ## Docker
* 7dfd94002 Docker: use correct MAVEN_CONFIG (#182)
* b5a0d173d Revise the usage of OpenAPI Generator online (docker image) (#73)
* e58dc2c77 Fix COPY in Dockerfile (#64)
* 9d7feaaeb Fix online generator (docker push) (#58)
* 9247cd01e Changes for Docker
* 64037ee59 update docker-related files to ues jdk8
* ## Plug-ins
* b6b8c0db8 \[gradle-plugin] Initial implementation (#162)
* 0a28aad73 \[MAVEN PLUGIN] Checking for null configOptions before looking for property
* 9c79297d6 \[MAVEN PLUGIN] Use latest version in dependencies snippet
* 9e1bbe0c1 Add maven wrapper
* ## API Clients
* ### Ada
* edf6be8c0 \[Ada] bug fix by defining x-is-model-type when property is local to the YML file
* 9ba74f484 \[Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned
* ea27924f5 \[Ada] changed default project/package name, to solve circular dependencies
* 6b9d38d40 remove trailing spaces in ada template
* 0de7f972f Fix the Ada server skeleton to check the authsMethods in the Shared_Instance generic package
* 4bd8fc6e8 Fix 7511: \[Ada] Client call is not correct with multiple parameters and application/x-www-urlencoded
* 3035bc629 \[Ada] Hotfix/ada model sort
* 43f0e8692 Ada code generator corrected: "=>" instead of "->".
* 7d2b49085 \[Ada] wrong order for generated structures in models.ads files
* 2b2b85eec \[Ada] wrong JSON in POST operations
## API Clients
### Ada
edf6be8c0 [Ada] bug fix by defining x-is-model-type when property is local to the YML file
9ba74f484 [Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned
ea27924f5 [Ada] changed default project/package name, to solve circular dependencies
6b9d38d40 remove trailing spaces in ada template
0de7f972f Fix the Ada server skeleton to check the authsMethods in the Shared_Instance generic package
4bd8fc6e8 Fix 7511: [Ada] Client call is not correct with multiple parameters and application/x-www-urlencoded
3035bc629 [Ada] Hotfix/ada model sort
43f0e8692 Ada code generator corrected: "=>" instead of "->".
7d2b49085 [Ada] wrong order for generated structures in models.ads files
2b2b85eec [Ada] wrong JSON in POST operations
* ### C#
* 0e34bcf4e \[csharp] ctor params should always be camelCase
* 872471996 \[csharp] Support arrays of arrays for properties and models
* 1c4e6b7d4 \[csharp] Fix ToJson to work with composition and polymorphism
* ed7af73f6 \[csharp] Reference this.Configuration in client API template
### C#
0e34bcf4e [csharp] ctor params should always be camelCase
872471996 [csharp] Support arrays of arrays for properties and models
1c4e6b7d4 [csharp] Fix ToJson to work with composition and polymorphism
ed7af73f6 [csharp] Reference this.Configuration in client API template
* ### C++
* e796e4c36 \[C++] Add linux as a reserve keyword
* 36f69a034 remove trailing spaces in qt5 c++ templates
* f192613f1 fix string type in c++ generator
* 409015461 fix file type in qt5cpp
* a4bcb3bc7 fix datetime and map type for qt5cpp
* 23b31aba8 \[qt5cpp] Fix crash when API return a map container
* 3b031ed2b \[qt5cpp] delete callback data allocated before signal emission
* 1bb1e44d1 \[qt5cpp] Remove qt5 pro.user file
* 194722015 Qt5cpp plug memleaks part2
* 12f3661d6 Qt5cpp plug memleaks
* ea4b94842 \[qt5cpp] Add nullptr guard to prevent crash when empty model is being serialized
* 0bf430a80 Qt5cpp Add support for nested containers
* 0b3ec6b1f fix NPE with cpp qt5, add logic to avoid NPE with composed schema
* 7c734445b fix file parameter in header file (cpprest)
* 070b5c00b fix object type declaration in cpprest
* bad1885b4 \[cpprest] add parameterToString for number type with unspecified format (double)
* 73bd24db7 \[cpprest] Add support for nested vectors
* ee2eb74f7 \[qt] update Qt client
* d82499944 Adding qt project generation fix
* 9bd94b4db \[qt] Fix warning message
### C++
e796e4c36 [C++] Add linux as a reserve keyword
36f69a034 remove trailing spaces in qt5 c++ templates
f192613f1 fix string type in c++ generator
409015461 fix file type in qt5cpp
a4bcb3bc7 fix datetime and map type for qt5cpp
23b31aba8 [qt5cpp] Fix crash when API return a map container
3b031ed2b [qt5cpp] delete callback data allocated before signal emission
1bb1e44d1 [qt5cpp] Remove qt5 pro.user file
194722015 Qt5cpp plug memleaks part2
12f3661d6 Qt5cpp plug memleaks
ea4b94842 [qt5cpp] Add nullptr guard to prevent crash when empty model is being serialized
0bf430a80 Qt5cpp Add support for nested containers
0b3ec6b1f fix NPE with cpp qt5, add logic to avoid NPE with composed schema
7c734445b fix file parameter in header file (cpprest)
070b5c00b fix object type declaration in cpprest
bad1885b4 [cpprest] add parameterToString for number type with unspecified format (double)
73bd24db7 [cpprest] Add support for nested vectors
ee2eb74f7 [qt] update Qt client
d82499944 Adding qt project generation fix
9bd94b4db [qt] Fix warning message
* ### Clojure
* d7e374504 \[Clojure] Add util method to set the api-context globally (#93)
### Clojure
d7e374504 [Clojure] Add util method to set the api-context globally (#93)
* ### Dart
* f1638a659 \[Dart] Allow setting an accessToken for OAuth
* a5e26a44f \[Dart] - Rework Dart client generator to be flutter-compatible
### Dart
f1638a659 [Dart] Allow setting an accessToken for OAuth
a5e26a44f [Dart] - Rework Dart client generator to be flutter-compatible
* ### Elixir
* f9b2839a3 \[Elixir] Check date value before calling to_iso8601
### Elixir
f9b2839a3 [Elixir] Check date value before calling to_iso8601
* ### Elm
* 5a87fe695 \[elm] Fix operations with empty responses (#171)
* a5cf27b60 Fix Petstore example for Elm (#96)
* c522927d5 Fix Elm generator for polymorphism (#78)
* 7d9fb9f51 Add CI test for Elm in travis (#40)
* 769a65c95 \[Elm] Add support for array schemas
* 56a0268e3 \[elm] missing '->' in Main elm template
### Elm
5a87fe695 [elm] Fix operations with empty responses (#171)
a5cf27b60 Fix Petstore example for Elm (#96)
c522927d5 Fix Elm generator for polymorphism (#78)
7d9fb9f51 Add CI test for Elm in travis (#40)
769a65c95 [Elm] Add support for array schemas
56a0268e3 [elm] missing '->' in Main elm template
* ### Erlang
* c73118524 \[erlang-client] Erlang request utils
* 049eef9c5 Test erlang client, server petstore
* bcc7b788e fix erlang client compilation error
### Erlang
c73118524 [erlang-client] Erlang request utils
049eef9c5 Test erlang client, server petstore
bcc7b788e fix erlang client compilation error
* ### Go
* acb63fd5e Fix go readme, remove resty install
* 5d8362d85 Update go client, fix double body read
* 47614bb76 Properly capitalize exported go types
* ee561fcd6 Add withXml option for Go language
* 0f6696089 \[Go] Use consistent indentation in readme
* 72abb20f2 \[Go] Fix operation files clobbering model files. \[2.4.0]
### Go
acb63fd5e Fix go readme, remove resty install
5d8362d85 Update go client, fix double body read
47614bb76 Properly capitalize exported go types
ee561fcd6 Add withXml option for Go language
0f6696089 [Go] Use consistent indentation in readme
72abb20f2 [Go] Fix operation files clobbering model files. [2.4.0]
* ### Haskell
* 34db79b9b \[haskell-http-client] update dependency versions + readme (#81)
* e45b3784f Fix NPE with Haskell client generator with OAS3 spec
* d3401396f \[haskell-http-client] remove duplicates in produces/consumes; fix pathParam paramName issue
* 4bc99b9da minor fixes to haskell http client generator
* 2d0bafb6b \[haskell-http-client] default InlineMimeTypes=true
* 9fba9c325 \[haskell-http-client] add config options: cabalPackage, cabalVersion, baseModule, requestType, configType
### Haskell
34db79b9b [haskell-http-client] update dependency versions + readme (#81)
e45b3784f Fix NPE with Haskell client generator with OAS3 spec
d3401396f [haskell-http-client] remove duplicates in produces/consumes; fix pathParam paramName issue
4bc99b9da minor fixes to haskell http client generator
2d0bafb6b [haskell-http-client] default InlineMimeTypes=true
9fba9c325 [haskell-http-client] add config options: cabalPackage, cabalVersion, baseModule, requestType, configType
* ### Kotlin
* a3322fbf7 \[kotlin] Add OkHttpClient.Builder to ApiClient.
* 3c5fb1d80 \[kotlin] Add json annotation to each enum value.
* 39fa375e3 \[kotlin] Fix NPE for POST/PUT/PATCH with empty request models.
* c599906f1 Kotlin: Correct data_class.mustache to use proper property for inner enum data type
* c69925b53 \[Kotlin] Fix issues with threetenbp
* a811a48c3 minor fix to kotlin client genrator due to merge conflict
* 914275fe7 \[kotlin] support selection of datelibrary
* a61d23265 Fixed incorrect renaming of header and query param to camel cases for Kotlin Client template
### Kotlin
a3322fbf7 [kotlin] Add OkHttpClient.Builder to ApiClient.
3c5fb1d80 [kotlin] Add json annotation to each enum value.
39fa375e3 [kotlin] Fix NPE for POST/PUT/PATCH with empty request models.
c599906f1 Kotlin: Correct data_class.mustache to use proper property for inner enum data type
c69925b53 [Kotlin] Fix issues with threetenbp
a811a48c3 minor fix to kotlin client genrator due to merge conflict
914275fe7 [kotlin] support selection of datelibrary
a61d23265 Fixed incorrect renaming of header and query param to camel cases for Kotlin Client template
* ### Lua
* dbe78e23e \[Lua] Improve auto-generated test files
* 6c79052ac Add auto-generated Lua spec files for APIs, models
* 38a2c1dde \[Lua] Fix Rockpec
* a2410b210 Add auto-generated rockspec file to Lua API client
* df10c725a Add lua test script, minor fix to Lua API files
### Lua
dbe78e23e [Lua] Improve auto-generated test files
6c79052ac Add auto-generated Lua spec files for APIs, models
38a2c1dde [Lua] Fix Rockpec
a2410b210 Add auto-generated rockspec file to Lua API client
df10c725a Add lua test script, minor fix to Lua API files
* ### Java
* 2e69e6c03 build.gradle should not have commas
* 1a4e5a4e5 Java client: Add constants for libraries (#163)
* 7db0201a8 Fix NPEs in Java generator (#154)
* 4d7ff8cfb JavaDoc fixes for Java/RESTEasy client (#151)
* 072ce070b resteasy: fix outer enum case (#139)
* ccd002966 \[Java] rest-assured: fix javadoc in templates
* e7410d4c8 Allow $ in java var name
* 03490e923 Fix Java binary mapping
* 70b4b55fa Fix performance linting problem with maps in Java ApiClient template
* cddcda0fe \[Java][Jersey2] Make generated client code thread safe
* 298ca8d35 use correct jackson date library when using Java 8
* 53eeb0c04 \[Java] fix connection leak on retrofit OAuth token renewal
* 61c25e711 \[Java] Fixes for retrofit
* f02332755 \[JAVA] 4709: codegen with parcelableMode fails to build if using arrays in swagger.
* 4eeb974cb \[Java][google-api-client] Fix bug with empty POST request not sending content-type
* d4543a99e \[Java][retrofit2] file upload sets filename as baseName instead of a dynamic filename
* 62a930223 \[JAVA][Rest-assured] reqSpec() method has been added into api.mustache for requests custom…
* fec0363f7 \[Java] Add back byte array enhancement
* 59ff4c198 \[Java][library: vertx] Add default value and required parameter support to vertx server temp…
* 3bd2da9a8 \[Java] Fix build warnings
* 429b96ae7 \[JAVA] equals and hashCode for models with byte[] and binary strings
* 495971c2c \[Java] use html entities in javadoc of generated code (#106)
* 82ee8656f \[java] Enum in array of array (#66)
* bf7e4e7df Java gson: add @SerializedName value as constant (#22)
* 30c1448d7 Fix build.gradle for Java RESTEasy client
* 642c0566d \[Java] Use Rx2 Completalbe for Void Retrofit2 responses
* 72221b1cf Adding @Deprecated to retrofit2 client interfaces.
* 47111b324 \[Java] fix gson deserialize format byte
* 9e06f7063 \[Java] Fix assignment of new object instance to variable
* 006f084b5 \[Java] Allow to set values with setApiPackage(..) and setModelPackage(..)
### Java
2e69e6c03 build.gradle should not have commas
1a4e5a4e5 Java client: Add constants for libraries (#163)
7db0201a8 Fix NPEs in Java generator (#154)
4d7ff8cfb JavaDoc fixes for Java/RESTEasy client (#151)
072ce070b resteasy: fix outer enum case (#139)
ccd002966 [Java] rest-assured: fix javadoc in templates
e7410d4c8 Allow $ in java var name
03490e923 Fix Java binary mapping
70b4b55fa Fix performance linting problem with maps in Java ApiClient template
cddcda0fe [Java][Jersey2] Make generated client code thread safe
298ca8d35 use correct jackson date library when using Java 8
53eeb0c04 [Java] fix connection leak on retrofit OAuth token renewal
61c25e711 [Java] Fixes for retrofit
f02332755 [JAVA] 4709: codegen with parcelableMode fails to build if using arrays in swagger.
4eeb974cb [Java][google-api-client] Fix bug with empty POST request not sending content-type
d4543a99e [Java][retrofit2] file upload sets filename as baseName instead of a dynamic filename
62a930223 [JAVA][Rest-assured] reqSpec() method has been added into api.mustache for requests custom…
fec0363f7 [Java] Add back byte array enhancement
59ff4c198 [Java][library: vertx] Add default value and required parameter support to vertx server temp…
3bd2da9a8 [Java] Fix build warnings
429b96ae7 [JAVA] equals and hashCode for models with byte[] and binary strings
495971c2c [Java] use html entities in javadoc of generated code (#106)
82ee8656f [java] Enum in array of array (#66)
bf7e4e7df Java gson: add @SerializedName value as constant (#22)
30c1448d7 Fix build.gradle for Java RESTEasy client
642c0566d [Java] Use Rx2 Completalbe for Void Retrofit2 responses
72221b1cf Adding @Deprecated to retrofit2 client interfaces.
47111b324 [Java] fix gson deserialize format byte
9e06f7063 [Java] Fix assignment of new object instance to variable
006f084b5 [Java] Allow to set values with setApiPackage(..) and setModelPackage(..)
* ### JavaScript/NodeJS
* d80e29585 Fix JS test using baseName in default value (#5)
* fe15f4690 fix toDefaultValueWithParam in JS
* 90859575e Fixing variable name typo (instane -> instance)
### JavaScript/NodeJS
d80e29585 Fix JS test using baseName in default value (#5)
fe15f4690 fix toDefaultValueWithParam in JS
90859575e Fixing variable name typo (instane -> instance)
* ### Objective-C
* 9fb2c29a4 7644 objc deprecated afnetworking datataskwithrequest
* 5d1874028 add class as a keyword in objc generator
* 1b8df5c20 Update ObjcClientCodegen.java
* 246ed5754 restore objc reserved word: property
### Objective-C
9fb2c29a4 7644 objc deprecated afnetworking datataskwithrequest
5d1874028 add class as a keyword in objc generator
1b8df5c20 Update ObjcClientCodegen.java
246ed5754 restore objc reserved word: property
* ### PHP
* 3beeb4e77 \[PHP] Not-required properties now shows as nullable (#129)
* 37df59d6f \[PHP] Adjust the names (script, sample folder, generator) to lang option (#159)
* 4a5d16b23 \[PHP] Fix string length validation
* d58835e57 \[PHP] Improve: Make validation strict
* cf8d8d56f \[PHP] Fix code example from README. Variable name was missing when using Basic auth.
* 0adbf7e51 \[PHP] Improve: update sample tests automatically
* 32cf2f16f \[PHP] Non required enum property
* 3bcf0ff76 \[PHP] Add path & file separator (/) to return the correct path when deserializing a file
* 14e1e1980 \[PHP] Improve validation on empty arrays
* 809e1f4c9 \[PHP] Cleanup tests
* 76907cacd \[PHP] declare property headerSelector
### PHP
3beeb4e77 [PHP] Not-required properties now shows as nullable (#129)
37df59d6f [PHP] Adjust the names (script, sample folder, generator) to lang option (#159)
4a5d16b23 [PHP] Fix string length validation
d58835e57 [PHP] Improve: Make validation strict
cf8d8d56f [PHP] Fix code example from README. Variable name was missing when using Basic auth.
0adbf7e51 [PHP] Improve: update sample tests automatically
32cf2f16f [PHP] Non required enum property
3bcf0ff76 [PHP] Add path & file separator (/) to return the correct path when deserializing a file
14e1e1980 [PHP] Improve validation on empty arrays
809e1f4c9 [PHP] Cleanup tests
76907cacd [PHP] declare property headerSelector
* ### Python
* 7184f1ec6 \[python] asyncio supports _preload_content; remove unused imports (#107)
* d74d2ba03 fix: python clients
* 8e0a0ebd6 Fix python / tornado body handling
* b39c35c76 Fix inconsistency between model name and file name in python client
* dfbef4374 Fixed unicode error and supported allow_nonstandard_methods in tornado based python client
* f6e0e297e \[python-asyncio] tests and fixes
### Python
7184f1ec6 [python] asyncio supports _preload_content; remove unused imports (#107)
d74d2ba03 fix: python clients
8e0a0ebd6 Fix python / tornado body handling
b39c35c76 Fix inconsistency between model name and file name in python client
dfbef4374 Fixed unicode error and supported allow_nonstandard_methods in tornado based python client
f6e0e297e [python-asyncio] tests and fixes
* ### R
* 61e58d649 Add R namespace file
### R
61e58d649 Add R namespace file
* ### Ruby
* a08164592 fix ruby parameters in documentation, fix reuqiredParams, optionalParams
* 8e34f9a98 update to newer version of ruby
* aa6b217bb \[Ruby] Add auto-generated rubocop config file
### Ruby
a08164592 fix ruby parameters in documentation, fix reuqiredParams, optionalParams
8e34f9a98 update to newer version of ruby
aa6b217bb [Ruby] Add auto-generated rubocop config file
* ### Rust
* b44357394 \[Rust] Implement minimal auth support
* 0b845a57e \[Rust] Changes hard coded body to dynamic parameter name -
* a3c97753f \[Rust] Handles UUID as string
* 027df610b \[Rust] Handle error response statuses
* 66be7a791 \[Rust] Add user agent handling for rust template (master)
* 3029b7b0f \[Rust] Format example with rustfmt
### Rust
b44357394 [Rust] Implement minimal auth support
0b845a57e [Rust] Changes hard coded body to dynamic parameter name -
a3c97753f [Rust] Handles UUID as string
027df610b [Rust] Handle error response statuses
66be7a791 [Rust] Add user agent handling for rust template (master)
3029b7b0f [Rust] Format example with rustfmt
### Scala
197b4481e normalize akka-scala and Java README
612cfb7af [Akka-scala] Clean unused dependencies such swagger-core
86697fedb [Scala][Gatling] correct body params filename
832919b84 [Scala][Akka] Remove unused dep when model package is empty
### Swift
40d5d0990 [Swift4] accept empty content with default client
3b7230b17 [Swift 4] Fix APIHelper to accept array parameter
e22faf4cd [Swift] Add public initializer for modelObject.
b184fb1d9 [Swift3] escape URL parameters
52f606b8d Fix Swift3 test cases and add pom.xml, travis config for iOS test
a3d0f1d4b Swift4: make generated models structs instead of classes
### TypeScript
f615d823f update ts node dependencies
9ac9bc0dc [TypeScript] enhance ts import
009dcf009 Mark `not required` swagger properties as optional typescript properties
bdd2c2a4e Misc typescript Angular code generation improvements
260375c9e Fix typescript-node generation of array type models
d1933b5fc Fix a problem in the generation of typescript-jquery when we have enum in a query param
20305139b [Feature][TypeScript] request param enum as literal unions
524f162e6 Use supportsES6 flag in ts compilation for language typescript-angular
9b8602311 [TypeScript] Make OpenAPI Generator serialize subclasses properly (#102)
4bc5ffe86 [typescript-angular] add provided in support (#120)
ef832e715 [Feature][TS Angular] improve docs angular import
fc7e08346 [TS][Fetch] Add interfaces option
157e6b7fa [angular] Add option to generate tagged unions
7faaa091c Fix generated module imports in Aurelia APIs
b5f0b24ba [TS] fix object declaration in model
## API Servers
### C++
6fef0a7ff fix string issue with restbed generator
a339422bd move get type declaration method to c++ restbed
### C#
d9d653016 [aspnetcore] Make the use of Swashbuckle optional (#110)
9a8183ab0 [aspnetcore] Fix openapi.json location rename (#56)
12abfb968 [aspnetcore] Update Dockerfile
866817587 [aspnetcore] Fix string enum generation
### Java
bd50d368e [JAVA - jaxrs-reasteasy-eap] Add import to models (#179)
7efda597c Fix issue with useBeanValidation option in Java server generators (#160)
71b5de3ed Do not set contextPath for spring-boot (#104)
b73ab0260 jaxrs-cxf-cdi: fix outer enum (#131)
4d7fc046f [JaxRS] Add "validation-api" dependency in jetty (#30)
ce930e7a6 [Jaxrs-cxf] Add bean-level cascaded beanvalidation for pojos (@Valid)
386b9f432 Modify "postProcessOperations" for "jaxrs-cxf-client"
5d92717dc update jaxrs to listent at port 10080
7c2031675 update artifict id for jaxrs datelib j8
88c5112f2 Adds support for returning response in jaxrs-spec interfaces
6bf84d5fa [JAXRS-SPEC] Fix lowercase enums sent as uppercase
3a1922bc9 Fix version for "spring-boot-maven-plugin" (#85)
161948657 Add reactive option for Spring Boot (webflux)
ff1178ad7 [Java][Spring] fix missing optional query params
2103fadab Fix package declaration for play-framework
2c6380c84 fix inner item (list, map) for play framework
e33b350c8 Fix an issue in Play Framework generator where a CSV is empty and transferred to the controllerImp with an empty item.
99fc27246 [JAX-RS][Spec] Removes throws Exception.
fe2a44339 Fixes issue (SpringCodeGen dateLibrary "java8-localdatetime" option is ignored).
d890d733f [JaxRS][Java] issue with implFolder on windows, and required fields generation for containers (#88)
c91ce17ae Feature/javaPlayWithAsynchronousControllers
f00a1ef52 [JAVA] Correct consumes/produces attributes for Spring Controllers
d14318cf2 [JAVA][Spring] Optional params with delegate
3f81378d7 [java resteasy] fix string comparison (#134)
5ea3d3bb1 [JAX-RS][SPEC] Bug fix that prevents generating interfaces when interfaceOnly is false.
### Kotlin
7cad47dd3 [kotlin-server] --library=ktor (barebones implementation)
752b36e66 [Kotlin] Sanitize enumeration name to add underscore when it starts with digits (#77)
### NodeJS
6d88d073c [NodeJS] make serverPort configurable via CLI option
e7f4fb3c4 Fix nodejs-server path issue in windows platform
### PHP
d30fcbabb Fixes for php-ze-ph generator
60e3339aa [Feature][PHP] Update for ze-ph generator
### Python
62b93fc5c [Python][Flask] Handles UUID format -
9999eac52 fix python flask parameter naming
### Scala
d5c355a59 [Scalatra] Updated the version of Scalatra to the latest (2.6.2)
52322c47c [finch] Allow finch server to compile for CI checks (#7)
### Ruby
dcad9ae80 [Rails5] make version of the generated Rails stub server to strict Rails 5.0
### Rust
37faaf926 [rust-server] API version constant and composite version support
6c7813e79 [rust-server] asynchronous support via hyper v0.11
## Documentation
25a6a9d44 html: fix typo in class name
## Miscellaneous
f04213285 Cli error message improvements (#172)
0ece706a4 Remove CodegenConfig.fromModel(String, Schema) method (#90)
64f2bea37 Fix getReferenced...() methods in ModelUtils (#157)
16ff5174e Update swagger-parser to 2.0.1 (#123)
76b7307a6 DefaultGenerator: ignore only form param schemas (#74)
a3aabd390 Create a default implementation of delegate if none could be autowired (#92)
ca89af808 Switch to Java 8
27426f7b5 Cli generator name option, replaces 'language' options in CLI and Maven Plugin (#57)
a1ff50241 Rename datatype to dataType in CodegenProperty (#69)
3b9a2a7c3 CaseFormatLambda has been added, params for Rest-assured client has been refactored (#91)
488910362 Set parameters allowableValues dynamically (#65)
2821f18b9 Meta: set version for "build-helper-maven-plugin" (#89)
82d9e935e Add CORS configuration to openapi-generator-online (#71)
e3814f51d Improvements to online codegen (#55)
6b8079808 Consider minLength, maxLength and pattern in referenced schema (#45)
7c5dfbfa0 Minor improvements to OpenAPI Generator Online (#54)
8dd46a3fb Move online gen from jersey to spring boot (#44)
803821e21 Fix an issue with example generator when array is too large (#46)
673f2bc46 Add CodegenProperty.nameInSnakeCase (#42)
67ebe17dd Fix isPrimitiveType flag for array of form parameters (#38)
10ac4024d Code clean-up: remove field declaration hiding existing fields (#35)
ab9c4b5a6 Code clean-up: Add own private static final LOGGER in each class (#26)
41b0ff351 Code clean-up: remove DefaultCodegen#getSimpleRef(String) (#19)
13f084e7b Fix dataTypeWithEnum for array of form parameters
fd3b883e8 [DefaultCodegen] Fill CodegenOperation::produces with unique media types
db9a899a0 update getSchemaType variable, remove unused import
d74b4cdf8 fix map type and collection format for form parameter (array)
d99f46cff Revise how to obtain the example value
b1eac05b2 Fix form datatype (array of string)
3c666a6d4 Fix array of form parameters
1492df6ce Override server port for Jetty configuration
622a75b2c Fix data type shadowing
861d11d01 use vendor extension in operation to set the body parameter name
80c8b92cb add postProcessParamter for body, form parameter
7fe555a51 Set collectionFormat default only for array
16589de97 default collection format to csv according to the spec
edbe4902a Consider '$ref' for consumes and produces in CodegenOperation
e24238a35 Improve getter name handling for boolean properties
6e2ca294b update discriminator to discriminatorName
74075c087 Primitive datatype in Schema components
d8abd4a14 support map in body parameter
186594115 Update swagger-core to 2.0.1
2034f61e5 Add HideGenerationTimestamp getter and setter in the CodegenConfig interface
d0e2d7684 Getter and Setter for hideGenerationTimestamp
adbde2fb6 replace fromOperation with postProcessOperations
9d1ae0dd2 fix bigdecimal in default codegen
ffa0e115d fix default value and type declaration
0e744adb8 Apply collection format to SIMPLE enum style
36ed29852 Tweak tests according to the parameter order changes
17b082793 Move 'enum_query_double' to parameters section
28fcf48f4 Add a method returns discriminator name
7daa2ec5d Fix broken discriminator
faa901640 Replace with the helper function: `getTypeDeclaration`
c8650d0e3 Make optional properties in models optional parameters
40c30dd2f Fix inputSpec for multi module builds
5326152cc add option to reorder form/body parameter
d1850091a Improve JMeter Template
fedfb0cda Factorize addOption/addSwitch method
e73eeb4fd fix for stripping prefix on single enums
13e3db59e Add operationIdOriginal to store the original operationId
0b2d80569 Expose getter/setter for serverPort to facilitate testing
8e270f465 add vendorExtensions field in CodegenSecurity class
1ee85de94 Added Intelli J ignore
7b8e409cf Added gitignore generation function
* ### Scala
* 197b4481e normalize akka-scala and Java README
* 612cfb7af \[Akka-scala] Clean unused dependencies such swagger-core
* 86697fedb \[Scala][Gatling] correct body params filename
* 832919b84 \[Scala][Akka] Remove unused dep when model package is empty
* ### Swift
* 40d5d0990 \[Swift4] accept empty content with default client
* 3b7230b17 \[Swift 4] Fix APIHelper to accept array parameter
* e22faf4cd \[Swift] Add public initializer for modelObject.
* b184fb1d9 \[Swift3] escape URL parameters
* 52f606b8d Fix Swift3 test cases and add pom.xml, travis config for iOS test
* a3d0f1d4b Swift4: make generated models structs instead of classes
* ### TypeScript
* f615d823f update ts node dependencies
* 9ac9bc0dc \[TypeScript] enhance ts import
* 009dcf009 Mark `not required` swagger properties as optional typescript properties
* bdd2c2a4e Misc typescript Angular code generation improvements
* 260375c9e Fix typescript-node generation of array type models
* d1933b5fc Fix a problem in the generation of typescript-jquery when we have enum in a query param
* 20305139b \[Feature][TypeScript] request param enum as literal unions
* 524f162e6 Use supportsES6 flag in ts compilation for language typescript-angular
* 9b8602311 \[TypeScript] Make OpenAPI Generator serialize subclasses properly (#102)
* 4bc5ffe86 \[typescript-angular] add provided in support (#120)
* ef832e715 \[Feature][TS Angular] improve docs angular import
* fc7e08346 \[TS][Fetch] Add interfaces option
* 157e6b7fa \[angular] Add option to generate tagged unions
* 7faaa091c Fix generated module imports in Aurelia APIs
* b5f0b24ba \[TS] fix object declaration in model
* ## API Servers
* ### C++
* 6fef0a7ff fix string issue with restbed generator
* a339422bd move get type declaration method to c++ restbed
* ### C#
* d9d653016 \[aspnetcore] Make the use of Swashbuckle optional (#110)
* 9a8183ab0 \[aspnetcore] Fix openapi.json location rename (#56)
* 12abfb968 \[aspnetcore] Update Dockerfile
* 866817587 \[aspnetcore] Fix string enum generation
* ### Java
* bd50d368e \[JAVA - jaxrs-reasteasy-eap] Add import to models (#179)
* 7efda597c Fix issue with useBeanValidation option in Java server generators (#160)
* 71b5de3ed Do not set contextPath for spring-boot (#104)
* b73ab0260 jaxrs-cxf-cdi: fix outer enum (#131)
* 4d7fc046f \[JaxRS] Add "validation-api" dependency in jetty (#30)
* ce930e7a6 \[Jaxrs-cxf] Add bean-level cascaded beanvalidation for pojos (@Valid)
* 386b9f432 Modify "postProcessOperations" for "jaxrs-cxf-client"
* 5d92717dc update jaxrs to listent at port 10080
* 7c2031675 update artifict id for jaxrs datelib j8
* 88c5112f2 Adds support for returning response in jaxrs-spec interfaces
* 6bf84d5fa \[JAXRS-SPEC] Fix lowercase enums sent as uppercase
* 3a1922bc9 Fix version for "spring-boot-maven-plugin" (#85)
* 161948657 Add reactive option for Spring Boot (webflux)
* ff1178ad7 \[Java][Spring] fix missing optional query params
* 2103fadab Fix package declaration for play-framework
* 2c6380c84 fix inner item (list, map) for play framework
* e33b350c8 Fix an issue in Play Framework generator where a CSV is empty and transferred to the controllerImp with an empty item.
* 99fc27246 \[JAX-RS][Spec] Removes throws Exception.
* fe2a44339 Fixes issue (SpringCodeGen dateLibrary "java8-localdatetime" option is ignored).
* d890d733f \[JaxRS][Java] issue with implFolder on windows, and required fields generation for containers (#88)
* c91ce17ae Feature/javaPlayWithAsynchronousControllers
* f00a1ef52 \[JAVA] Correct consumes/produces attributes for Spring Controllers
* d14318cf2 \[JAVA][Spring] Optional params with delegate
* 3f81378d7 \[java resteasy] fix string comparison (#134)
* 5ea3d3bb1 \[JAX-RS][SPEC] Bug fix that prevents generating interfaces when interfaceOnly is false.
* ### Kotlin
* 7cad47dd3 \[kotlin-server] --library=ktor (barebones implementation)
* 752b36e66 \[Kotlin] Sanitize enumeration name to add underscore when it starts with digits (#77)
* ### NodeJS
* 6d88d073c \[NodeJS] make serverPort configurable via CLI option
* e7f4fb3c4 Fix nodejs-server path issue in windows platform
* ### PHP
* d30fcbabb Fixes for php-ze-ph generator
* 60e3339aa \[Feature][PHP] Update for ze-ph generator
* ### Python
* 62b93fc5c \[Python][Flask] Handles UUID format -
* 9999eac52 fix python flask parameter naming
* ### Scala
* d5c355a59 \[Scalatra] Updated the version of Scalatra to the latest (2.6.2)
* 52322c47c \[finch] Allow finch server to compile for CI checks (#7)
* ### Ruby
* dcad9ae80 \[Rails5] make version of the generated Rails stub server to strict Rails 5.0
* ### Rust
* 37faaf926 \[rust-server] API version constant and composite version support
* 6c7813e79 \[rust-server] asynchronous support via hyper v0.11
* ## Documentation
* 25a6a9d44 html: fix typo in class name
* ## Miscellaneous
* f04213285 Cli error message improvements (#172)
* 0ece706a4 Remove CodegenConfig.fromModel(String, Schema) method (#90)
* 64f2bea37 Fix getReferenced...() methods in ModelUtils (#157)
* 16ff5174e Update swagger-parser to 2.0.1 (#123)
* 76b7307a6 DefaultGenerator: ignore only form param schemas (#74)
* a3aabd390 Create a default implementation of delegate if none could be autowired (#92)
* ca89af808 Switch to Java 8
* 27426f7b5 Cli generator name option, replaces 'language' options in CLI and Maven Plugin (#57)
* a1ff50241 Rename datatype to dataType in CodegenProperty (#69)
* 3b9a2a7c3 CaseFormatLambda has been added, params for Rest-assured client has been refactored (#91)
* 488910362 Set parameters allowableValues dynamically (#65)
* 2821f18b9 Meta: set version for "build-helper-maven-plugin" (#89)
* 82d9e935e Add CORS configuration to openapi-generator-online (#71)
* e3814f51d Improvements to online codegen (#55)
* 6b8079808 Consider minLength, maxLength and pattern in referenced schema (#45)
* 7c5dfbfa0 Minor improvements to OpenAPI Generator Online (#54)
* 8dd46a3fb Move online gen from jersey to spring boot (#44)
* 803821e21 Fix an issue with example generator when array is too large (#46)
* 673f2bc46 Add CodegenProperty.nameInSnakeCase (#42)
* 67ebe17dd Fix isPrimitiveType flag for array of form parameters (#38)
* 10ac4024d Code clean-up: remove field declaration hiding existing fields (#35)
* ab9c4b5a6 Code clean-up: Add own private static final LOGGER in each class (#26)
* 41b0ff351 Code clean-up: remove DefaultCodegen#getSimpleRef(String) (#19)
* 13f084e7b Fix dataTypeWithEnum for array of form parameters
* fd3b883e8 \[DefaultCodegen] Fill CodegenOperation::produces with unique media types
* db9a899a0 update getSchemaType variable, remove unused import
* d74b4cdf8 fix map type and collection format for form parameter (array)
* d99f46cff Revise how to obtain the example value
* b1eac05b2 Fix form datatype (array of string)
* 3c666a6d4 Fix array of form parameters
* 1492df6ce Override server port for Jetty configuration
* 622a75b2c Fix data type shadowing
* 861d11d01 use vendor extension in operation to set the body parameter name
* 80c8b92cb add postProcessParamter for body, form parameter
* 7fe555a51 Set collectionFormat default only for array
* 16589de97 default collection format to csv according to the spec
* edbe4902a Consider '$ref' for consumes and produces in CodegenOperation
* e24238a35 Improve getter name handling for boolean properties
* 6e2ca294b update discriminator to discriminatorName
* 74075c087 Primitive datatype in Schema components
* d8abd4a14 support map in body parameter
* 186594115 Update swagger-core to 2.0.1
* 2034f61e5 Add HideGenerationTimestamp getter and setter in the CodegenConfig interface
* d0e2d7684 Getter and Setter for hideGenerationTimestamp
* adbde2fb6 replace fromOperation with postProcessOperations
* 9d1ae0dd2 fix bigdecimal in default codegen
* ffa0e115d fix default value and type declaration
* 0e744adb8 Apply collection format to SIMPLE enum style
* 36ed29852 Tweak tests according to the parameter order changes
* 17b082793 Move 'enum_query_double' to parameters section
* 28fcf48f4 Add a method returns discriminator name
* 7daa2ec5d Fix broken discriminator
* faa901640 Replace with the helper function: `getTypeDeclaration`
* c8650d0e3 Make optional properties in models optional parameters
* 40c30dd2f Fix inputSpec for multi module builds
* 5326152cc add option to reorder form/body parameter
* d1850091a Improve JMeter Template
* fedfb0cda Factorize addOption/addSwitch method
* e73eeb4fd fix for stripping prefix on single enums
* 13e3db59e Add operationIdOriginal to store the original operationId
* 0b2d80569 Expose getter/setter for serverPort to facilitate testing
* 8e270f465 add vendorExtensions field in CodegenSecurity class
* 1ee85de94 Added Intelli J ignore
* 7b8e409cf Added gitignore generation function

76
docs/building.md Normal file
View File

@@ -0,0 +1,76 @@
---
id: contribute-building
title: Building the code
---
## Using Maven
To build from source, you need the following installed and available in your `$PATH:`
* [Java 8](http://java.oracle.com)
* [Apache maven 3.3.4 or greater](http://maven.apache.org/)
After cloning the project, you can build it from source with this command:
```bash
mvn clean install
```
If you don't have maven installed, you may directly use the included [maven wrapper](https://github.com/takari/maven-wrapper), and build with the command:
```bash
./mvnw clean install
```
## Using Docker
You can use `run-in-docker.sh` to do all development. This script maps your local repository to `/gen`
in the docker container. It also maps `~/.m2/repository` to the appropriate container location.
To execute `mvn package`:
```bash
git clone https://github.com/openapitools/openapi-generator
cd openapi-generator
./run-in-docker.sh mvn package
```
Build artifacts are now accessible in your working directory.
Once built, `run-in-docker.sh` will act as an executable for openapi-generator-cli. To generate code, you'll need to output to a directory under `/gen` (e.g. `/gen/out`). For example:
```bash
./run-in-docker.sh help # Executes 'help' command for openapi-generator-cli
./run-in-docker.sh list # Executes 'list' command for openapi-generator-cli
./run-in-docker.sh /gen/bin/go-petstore.sh # Builds the Go client
./run-in-docker.sh generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
-g go -o /gen/out/go-petstore -DpackageName=petstore # generates go client, outputs locally to ./out/go-petstore
```
### Docker in Vagrant
Prerequisite: install [Vagrant](https://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
```bash
git clone http://github.com/openapitools/openapi-generator.git
cd openapi-generator
vagrant up
vagrant ssh
cd /vagrant
./run-in-docker.sh mvn package
```
### Troubleshooting
If an error like this occurs, just execute the **mvn clean install -U** command:
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project openapi-generator: A type incompatibility occurred while executing org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test: java.lang.ExceptionInInitializerError cannot be cast to java.io.IOException
```bash
./run-in-docker.sh mvn clean install -U
```
> Failed to execute goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke (default) on project openapi-generator-gradle-plugin-mvn-wrapper: org.gradle.tooling.BuildException: Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.7-bin.zip'
Right now: no solution for this one :|

49
docs/conduct.md Normal file
View File

@@ -0,0 +1,49 @@
---
id: code-of-conduct
title: Code of Conduct
---
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at team@openapitools.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

107
docs/contributing.md Normal file
View File

@@ -0,0 +1,107 @@
---
id: contributing
title: Guidelines For Contributing
sidebar_label: Guidelines
---
## Before submitting an issue
- If you're not using the latest master to generate API clients or server stubs, please give it another try by pulling the latest master as the issue may have already been addressed. Ref: [Getting Started](https://github.com/openapitools/openapi-generator#getting-started)
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) and [closed issue](https://github.com/openapitools/openapi-generator/issues?q=is%3Aissue+is%3Aclosed) to ensure no one else has reported something similar before.
- File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information.
- Test with the latest master by building the JAR locally to see if the issue has already been addressed.
- You can also make a suggestion or ask a question by opening an "issue".
## Before submitting a PR
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) to ensure no one else has reported something similar and no one is actively working on similar proposed change.
- If no one has suggested something similar, open an ["issue"](https://github.com/openapitools/openapi-generator/issues) with your suggestion to gather feedback from the community.
- If you're adding a new option to a generator, please consider using the `-t` option with customized templates instead or start a discussion first by opening an issue as we want to avoid adding too many options to the generator.
- It's recommended to **create a new git branch** for the change so that the merge commit message looks nicer in the commit history.
## How to contribute
### git
If you're new to git, you may find the following FAQs useful:
https://github.com/openapitools/openapi-generator/wiki/FAQ#git
### Branches
Please file the pull request against the correct branch, e.g. `master` for non-breaking changes. See the [Git Branches](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches) page for more information.
### Code generators
All the code generators can be found in [modules/openapi-generator/src/main/java/org/openapitools/codegen/languages](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages)
### Templates
All the templates ([mustache](https://mustache.github.io/)) can be found in [modules/openapi-generator/src/main/resources](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources).
For a list of variables available in the template, please refer to this [page](https://github.com/openapitools/openapi-generator/wiki/Mustache-Template-Variables)
### Style guide
Code change should conform to the programming style guide of the respective languages:
- Ada: https://en.wikibooks.org/wiki/Ada_Style_Guide/Source_Code_Presentation
- Android: https://source.android.com/source/code-style.html
- Bash: https://github.com/bahamas10/bash-style-guide
- C#: https://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx
- C++: https://google.github.io/styleguide/cppguide.html
- C++ (Tizen): https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide#C.2B.2B_Coding_Style
- Clojure: https://github.com/bbatsov/clojure-style-guide
- Dart: https://www.dartlang.org/guides/language/effective-dart/style
- Elixir: https://github.com/christopheradams/elixir_style_guide
- Eiffel: https://www.eiffel.org/doc/eiffel/Coding%20Standards
- Erlang: https://github.com/inaka/erlang_guidelines
- Haskell: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
- Java: https://google.github.io/styleguide/javaguide.html
- JavaScript: https://github.com/airbnb/javascript/
- Kotlin: https://kotlinlang.org/docs/reference/coding-conventions.html
- Groovy: http://groovy-lang.org/style-guide.html
- Go: https://github.com/golang/go/wiki/CodeReviewComments
- ObjC: https://github.com/NYTimes/objective-c-style-guide
- Perl: http://perldoc.perl.org/perlstyle.html
- PHP: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
- PowerShell: https://msdn.microsoft.com/en-us/library/dd878270(v=vs.85).aspx
- Python: https://www.python.org/dev/peps/pep-0008/
- R: https://google.github.io/styleguide/Rguide.xml
- Ruby: https://github.com/bbatsov/ruby-style-guide
- Rust: https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md (the default [rustfmt](https://github.com/rust-lang-nursery/rustfmt) configuration)
- Scala: http://docs.scala-lang.org/style/
- Swift: [Apple Developer](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html)
- TypeScript: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
For other languages, feel free to suggest.
You may find the current code base not 100% conform to the coding style and we welcome contributions to fix those.
For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#vendorExtensions), please follow the naming convention below:
- For general vendor extension, use lower case and hyphen. e.g. `x-is-unique`, `x-content-type`
- For language-specified vendor extension, put it in the form of `x-{lang}-{extension-name}`. e.g. `x-objc-operation-id`, `x-java-feign-retry-limit`
- For a list of existing vendor extensions in use, please refer to https://github.com/openapitools/openapi-generator/wiki/Vendor-Extensions. If you've added new vendor extensions as part of your PR, please update the wiki page.
### Testing
To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
To test the templates, please perform the following:
- Update the Petstore sample by running the shell script under `bin` folder. For example, run `./bin/ruby-petstore.sh` to update the Ruby PetStore API client under [`samples/client/petstore/ruby`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/ruby) For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Run the tests in the sample folder, e.g. in `samples/client/petstore/ruby`, run `mvn integration-test -rf :RubyPetstoreClientTests`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Finally, git commit the updated samples files: `git commit -a`
(`git add -A` if added files with new test cases)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml)
To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all the required tools installed to run tests for different languages) or you can leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.
### Tips
- Smaller changes are easier to review
- [Optional] For bug fixes, provide a OpenAPI Spec to repeat the issue so that the reviewer can use it to confirm the fix
- Add test case(s) to cover the change
- Document the fix in the code to make the code more readable
- Make sure test cases passed after the change (one way is to leverage https://travis-ci.org/ to run the CI tests)
- File a PR with meaningful title, description and commit messages.
- Recommended git settings
- `git config --global core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))

12
docs/core-team.md Normal file
View File

@@ -0,0 +1,12 @@
---
id: core-team
title: Core Team Members
---
* [@wing328](https://github.com/wing328) (2015/07)
* [@jimschubert](https://github.com/jimschubert) (2016/05)
* [@cbornet](https://github.com/cbornet) (2016/05)
* [@jaz-ah](https://github.com/jaz-ah) (2016/05)
* [@ackintosh](https://github.com/ackintosh) (2018/02)
* [@JFCote](https://github.com/JFCote) (2018/03)
* [@jmini](https://github.com/jmini) (2018/04)

View File

@@ -1,26 +1,9 @@
## Customization
---
id: customization
title: Customization
---
### Modifying a template
Clone OpenAPI Generator and navigate to `modules/openapi-generator/src/main/resources/${template}`, where `${template}` is the name of the generator you wish to modify. For example, if you are looking for the C# template, it's named `csharp`. This directory contains all the templates used to generate your target client/server/doc output.
Templates consist of multiple mustache files. [Mustache](https://mustache.github.io/) is used as the templating language for these templates, and the specific engine used is [jmustache](https://github.com/samskivert/jmustache).
If you wish to modify one of these templates, copy and paste the template you're interested in to a templates directory you control. To let OpenAPI Generator know where this templates directory is, use the `-t` option (e.g: `-t ./templates/`).
To tie that all together (example for modifying ruby templates):
```sh
mkdir templates
export template=ruby
cp -r modules/openapi-generator/src/main/resources/${template} templates/${template}
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-t ./templates/${template} -g ruby -i ./foo.yml -o ./out/ruby
```
_**Note:** You cannot use this approach to create new templates, only override existing ones. If you'd like to create a new generator within the project, see `new.sh` in the repository root._
### Creating a new template
## Creating a new template
If none of the templates suit your needs, you can create a brand new template. OpenAPI Generator can help with this, using the `meta` command:
@@ -35,7 +18,7 @@ These names can be anything you like. If you are building a client for the white
**NOTE** Convention is to use kebab casing for names passed to `-n`. Example, `scala-finatra` would become `ScalaFinatraGenerator`.
#### Use your new generator with the CLI
### Use your new generator with the CLI
To compile your library, enter the `out/generators/my-codegen` directory, run `mvn package` and execute the generator:
@@ -65,7 +48,7 @@ java -cp out/codegens/customCodegen/target/my-codegen-openapi-generator-1.0.0.ja
-o ./out/myClient
```
#### Use your new generator with the maven plugin
### Use your new generator with the maven plugin
Install your library to your local maven repository by running:
@@ -106,7 +89,7 @@ You can use this as additional dependency of the `openapi-generator-maven-plugin
If you publish your artifact to a distant maven repository, do not forget to add this repository as `pluginRepository` for your project.
### Selective generation
## Selective generation
You may not want to generate *all* models in your project. Likewise you may want just one or two apis to be written. If that's the case, you can use system properties to control the output:
The default is generate *everything* supported by the specific library. Once you enable a feature, it will restrict the contents generated:
@@ -164,7 +147,7 @@ java -DskipFormModel=true
This option will be helpful to skip model generation due to the form parameter, which is defined differently in OAS3 as there's no form parameter in OAS3
### Ignore file format
## Ignore file format
OpenAPI Generator supports a `.openapi-generator-ignore` file, similar to `.gitignore` or `.dockerignore` you're probably already familiar with.
@@ -206,7 +189,7 @@ Upon first code generation, you may also pass the CLI option `--ignore-file-over
Editor support for `.openapi-generator-ignore` files is available in IntelliJ via the [.ignore plugin](https://plugins.jetbrains.com/plugin/7495--ignore).
### Customizing the generator
## Customizing the generator
There are different aspects of customizing the code generator beyond just creating or modifying templates. Each language has a supporting configuration file to handle different type mappings, etc:
@@ -300,7 +283,7 @@ and specify the `classname` when running the generator:
Your subclass will now be loaded and overrides the `PREFIX` value in the superclass.
### Bringing your own models
## Bringing your own models
Sometimes you don't want a model generated. In this case, you can simply specify an import mapping to tell
the codegen what _not_ to create. When doing this, every location that references a specific model will

64
docs/debugging.md Normal file
View File

@@ -0,0 +1,64 @@
---
id: debugging
title: Debugging
---
## Templates
Sometimes, you may have issues with variables in your templates. As discussed in the [templating](./templating.md) docs, we offer a variety of system properties for inspecting the models bound to templates.
<dl>
<dt><code>-DdebugOpenAPI</code></dt>
<dd>Prints out the JSON model of the OpenAPI Document, as seen by OpenAPI Generator</dd>
<dt><code>-DdebugModels</code></dt>
<dd>Prints out the JSON model passed to model templates</dd>
<dt><code>-DdebugOperations</code></dt>
<dd>Prints out the JSON model passed to operation (api) templates</dd>
<dt><code>-DdebugSupportingFiles</code></dt>
<dd>Prints out the JSON model passed to supporting files</dd>
</dl>
One or more of these properties can be passed alongside other command line options:
```bash
openapi-generator generate -g go \
-o out \
-i petstore-minimal.yaml \
-DdebugModels \
-DdebugOperations
```
Or you can add these to your `JAVA_OPTS` environment variable (this applies to every invocation of the tool):
```bash
export JAVA_OPTS="${JAVA_OPTS} -DdebugModels -DdebugOperations"
```
> NOTE: Globally available system options like these will apply to all invocations of the generator (CLI and plugins)
## Runtime
When you're working with a custom generator, a new generator, or otherwise trying to understand the behavior of the toolset, you may need to attach a remote debugger in order to step through the code.
The steps are shown here for a specific version of the generator, but apply the same if you're working off master or a feature branch.
* Determine the version of `openapi-generator` you're using. For the CLI, this is:
```
openapi-generator version
```
* Navigate to the `openapi-generator` source directory (see [building](./building.md) docs for obtaining source code and brief introduction).
* Checkout the branch/tag for the target version. Branches are not prefixed, but tags are prefixed with a `v`. For instance if you're using version `3.3.0`, you will execute:
```
git checkout v3.3.0
```
* Open the project in your IDE.
* Setup your IDE for remote debugging. You'll want to define a port used for connecting the remote debugger. For this example, we'll use `5005`. See external tutorials for [IntelliJ](https://www.jetbrains.com/help/idea/run-debug-configuration-remote-debug.html) and [Eclipse](https://www.ibm.com/developerworks/library/os-eclipse-javadebug/index.html)
* Export the debug configuration, specifying `suspend=y` so you have time to attach a remote debugger. These are passed as Java system properties, either on command line or as part of the `JAVA_OPTS` environment variable. This will look like:
```
export JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
```
* Execute the generator with your desired options. You should see the application output _only_
```
Listening for transport dt_socket at address: 5005
```
* Set breakpoints in code, and then attach your remote debugger from your IDE (see above). The generator will automatically unblock once the remote debugger is attached. You can now step through the code.

66
docs/faq-contributing.md Normal file
View File

@@ -0,0 +1,66 @@
---
id: faq-contributing
title: FAQ: Contributing
---
## Automated checks on my PR have failed. Do you know what's wrong?
Please do the following:
* Click on the failed tests and check the log to see what's causing the errors.
* If it's related to connection timeout in downloading dependencies, please restart the CI jobs (which can be done by closing and reopening the PR)
* If it's some other reason, please tag someone on the [core team](./core-team.md) for assistance.
## The public petstore server returns status 500, can I run it locally?
Yes, please run the following commands (assuming you've docker installed):
```
docker pull swaggerapi/petstore
docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
docker ps -a
```
Then add the following to your local [hosts](https://en.wikipedia.org/wiki/Hosts_%28file%29) table:
```
127.0.0.1 petstore.swagger.io
```
## Who should I report a security vulnerability to?
Please contact team@openapitools.org with the details and we'll follow up with you.
## How can I rebase my PR on the latest master?
Please refer to http://rypress.com/tutorials/git/rebasing, or follow the steps below (assuming the branch for the PR is "fix_issue_9999"):
1. git checkout master
2. git pull upstream master (assuming `upstream` is pointing to the official repo)
3. git checkout fix_issue_9999
4. git rebase master
5. Resolve merge conflicts, if any, and run "git commit -a"
6. Rebase done (you may need to add --force when doing `git push`)
(To setup `upstream` pointing to the official repo, please run `git remote add upstream https://github.com/openapitools/openapi-generator.git`)
## How can I update commits that are not linked to my Github account?
Please refer to https://stackoverflow.com/questions/3042437/how-to-change-the-commit-author-for-one-specific-commit or you can simply add the email address in the commit as your secondary email address in your Github account.
## Any useful git tips to share?
Yes, http://www.alexkras.com/19-git-tips-for-everyday-use/
## How can I submit a PR to fix bugs or make enhancements?
Visit https://github.com/openapitools/openapi-generator and then click on the "Fork" button in the upper right corner. Then in your local machine, run the following (assuming your github ID is "your_user_id")
1) git clone https://github.com/your_user_id/openapi-generator.git
2) cd openapi-generator
3) git checkout -b fix_issue9999
4) make changes
5) git commit -a (you may need to use `git add filename` to add new files)
6) git push origin fix_issue9999
7) Visit https://github.com/openapitools/openapi-generator in your browser and click on the button to file a new PR based on fix_issue9999

40
docs/faq-extending.md Normal file
View File

@@ -0,0 +1,40 @@
---
id: faq-extending
title: FAQ: Extending
---
## How do I use my own Java models?
See [Bringing your own Models](./customization.md#bringing-your-own-models).
## How do I disable certificate verification?
Please add `-Dio.swagger.v3.parser.util.RemoteUrl.trustAll=true` when generating the code.
## How do I skip files during code generation?
OpenAPI Generator has a built-in ignore file processor.
For example, to skip `git_push.sh`, one can create a file named `.openapi-generator-ignore` in the root of the output directory with the contents:
```
# Prevent generator from creating these files:
git_push.sh
```
The ignore file works just like .gitignore, and it is auto-generated by default.
If you need this functionality on initial generation, you can provide the option `--ignore-file-override` (CLI) or `ignoreFileOverride` (Maven and Gradle plugins) with a value targeting any existing file. The contents of that file will be evaluated relative to the output directory.
## How can I customize the auto-generated code?
Variants:
* "How can I add a header/footer to generated code?"
* "How can I add my own logging to generated code?"
* "How can I add my license to the top of files?"
OpenAPI Generator supports user-defined templates without need to recompile the artifact. We also support custom generators (templates and logic) if those generators are accessible on the classpath.
See [templating: Modifying Templates](./templating.md#modifying-templates) and [customization](./customization.md) docs for more details.

115
docs/faq-generators.md Normal file
View File

@@ -0,0 +1,115 @@
---
id: faq-generators
title: FAQ: Generators
---
### What are some server generator use cases?
We have around 40+ server generators, with more added regularly. Some of these include Spring in your choice of Java or Kotlin, the Finch and Scalatra frameworks using Scala, and C# generators for NancyFX and WebAPI (to name only a few).
Besides generating the server code as a starting point to implement the API backend, here are some use cases of the server generators:
* **prototyping** - one can generate the server code and have a functional API backend very quickly to try different things or features.
* **mocking** - easily provide an API backend for mocking based on the examples field defined in the response object.
* **migration** - let's say one wants to migrate an API backend from Ruby on Rails to Java Spring. The server generator can save a lot of time in implementing and verify each endpoint in the new API backend.
* **evaluating** - when you want to try a new language or framework, and a typical "Hello, World" is too trivial.
## Java
### The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?
Yes, please refer to http://stackoverflow.com/a/6055903/677735
### How can I customize the Feign client templates?
You will need to provide customized files in `Java/libraries/feign` under the resources folder and pass the location via the `-t` option.
In your Gradle build script, please add the following (example):
```
config.templateDir = 'src/openapi-generator-templates/Java/libraries/feign
```
## Android
### How can I generate an Android SDK?
**The Java SDK is also compatible with Android.**
[RECOMMENDED] To generate the Java SDK with `okhttp` and `gson` libraries, run the following:
```
mvn clean package
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.json \
-l java --library=okhttp-gson \
-D hideGenerationTimestamp=true \
-o /var/tmp/java/okhttp-gson/
```
You can also generate the Java SDK with other HTTP libraries by replacing `okhttp-gson` with `retrofit` for example. For a list of support libraries, please run
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar config-help -l java
```
To generate the Android SDK with [`volley`](https://github.com/mcxiaoke/android-volley), please run
```
mvn clean package
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.json \
-l android --library=volley \
-o /var/tmp/android/volley/
```
We do **not** recommend using the default HTTP library (Apache HttpClient) with `android` as it's not actively maintained.
## C-Sharp
### How do I fix `CSC: warning CS2002` in Xamarin?
The full warning might look like this: `CSC: warning CS2002: Source file 'Api/FakeApi.cs' specified multiple times`
The warning has no impact on the build process so you should be able to build the solution without issue. The warning should be addressed in the upcoming stable release of Xamarin.
## Objective-C
### How do I run integration test with Petstore ObjC API client?
Here are the steps:
```
git clone https://github.com/openapitools/openapi-generator.git
cd openapi-generator/samples/client/petstore/objc/default/OpenAPIClientTests
mvn integration-test
```
Besides `default` (folder) ObjC API client, there's also `core-data` for another ObjC API client with [Core Data support](https://en.wikipedia.org/wiki/Core_Data).
## Swift
### How do I run integration test with Petstore Swift API client?
Here are the steps:
```
git clone https://github.com/openapitools/openapi-generator.git
cd openapi-generator/samples/client/petstore/swift/default/OpenAPIClientTests
mvn integration-test
```
Besides `default` (folder), there's another folder `promisekit` for Swift API client with [PromiseKit support](https://github.com/mxcl/PromiseKit)
```
git clone https://github.com/openapitools/openapi-generator.git
cd openapi-generator/samples/client/petstore/swift/promisekit/OpenAPIClientTests
mvn integration-test
```
### Is Swift (2.x) generator still actively maintained?
No, please use `swift3` or `swift4` generator instead as we want to focus on Swift 3.x, 4.x.
## TypeScript
### The JSON response fails to deserialize due to change in variable naming (snake_case to camelCase). Is there any way to keep the original naming?
Yes, please use the following option when generating TypeScript clients:
```
modelPropertyNaming
Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
```

18
docs/faq.md Normal file
View File

@@ -0,0 +1,18 @@
---
id: faq
title: FAQ: General
---
## Do you have a chat room?
[![Gitter](https://img.shields.io/gitter/room/:user/:repo.svg?style=for-the-badge)](https://gitter.im/OpenAPITools/openapi-generator)
## What is the governance structure of the OpenAPI Generator project?
OpenAPI generator (openapi-generator) is managed by the members of the [core team](./core-team.md).
## What is the difference between Swagger Codegen and OpenAPI Generator?
Swagger Codegen is driven by SmartBear while OpenAPI Generator is driven by the community. More than 40 top contributors and template creators of Swagger Codegen have joined OpenAPI Generator as the founding team members. For more details, see the [Fork Q&A](./qna.md).
Swagger is a trademark owned by SmartBear and the use of the term "Swagger" in this project is for demo (reference) purposes only.

128
docs/generators.md Normal file
View File

@@ -0,0 +1,128 @@
---
id: generators
title: Generators List
---
The following generators are available:
* CLIENT generators:
- [ada](generators/ada.md)
- [android](generators/android.md)
- [apex](generators/apex.md)
- [bash](generators/bash.md)
- [c](generators/c.md)
- [clojure](generators/clojure.md)
- [cpp-qt5-client](generators/cpp-qt5-client.md)
- [cpp-restsdk](generators/cpp-restsdk.md)
- [cpp-tizen](generators/cpp-tizen.md)
- [csharp](generators/csharp.md)
- [csharp-dotnet2](generators/csharp-dotnet2.md)
- [csharp-refactor](generators/csharp-refactor.md)
- [dart](generators/dart.md)
- [dart-jaguar](generators/dart-jaguar.md)
- [eiffel](generators/eiffel.md)
- [elixir](generators/elixir.md)
- [elm](generators/elm.md)
- [erlang-client](generators/erlang-client.md)
- [erlang-proper](generators/erlang-proper.md)
- [flash](generators/flash.md)
- [go](generators/go.md)
- [groovy](generators/groovy.md)
- [haskell-http-client](generators/haskell-http-client.md)
- [java](generators/java.md)
- [javascript](generators/javascript.md)
- [javascript-closure-angular](generators/javascript-closure-angular.md)
- [javascript-flowtyped](generators/javascript-flowtyped.md)
- [jaxrs-cxf-client](generators/jaxrs-cxf-client.md)
- [jmeter](generators/jmeter.md)
- [kotlin](generators/kotlin.md)
- [lua](generators/lua.md)
- [objc](generators/objc.md)
- [perl](generators/perl.md)
- [php](generators/php.md)
- [powershell](generators/powershell.md)
- [python](generators/python.md)
- [r](generators/r.md)
- [ruby](generators/ruby.md)
- [rust](generators/rust.md)
- [scala-akka](generators/scala-akka.md)
- [scala-gatling](generators/scala-gatling.md)
- [scala-httpclient](generators/scala-httpclient.md)
- [scalaz](generators/scalaz.md)
- [swift2-deprecated](generators/swift2-deprecated.md)
- [swift3-deprecated](generators/swift3-deprecated.md)
- [swift4](generators/swift4.md)
- [typescript-angular](generators/typescript-angular.md)
- [typescript-angularjs](generators/typescript-angularjs.md)
- [typescript-aurelia](generators/typescript-aurelia.md)
- [typescript-axios](generators/typescript-axios.md)
- [typescript-fetch](generators/typescript-fetch.md)
- [typescript-inversify](generators/typescript-inversify.md)
- [typescript-jquery](generators/typescript-jquery.md)
- [typescript-node](generators/typescript-node.md)
- [typescript-rxjs](generators/typescript-rxjs.md)
* SERVER generators:
- [ada-server](generators/ada-server.md)
- [aspnetcore](generators/aspnetcore.md)
- [cpp-pistache-server](generators/cpp-pistache-server.md)
- [cpp-qt5-qhttpengine-server](generators/cpp-qt5-qhttpengine-server.md)
- [cpp-restbed-server](generators/cpp-restbed-server.md)
- [csharp-nancyfx](generators/csharp-nancyfx.md)
- [erlang-server](generators/erlang-server.md)
- [go-gin-server](generators/go-gin-server.md)
- [go-server](generators/go-server.md)
- [graphql-nodejs-express-server](generators/graphql-nodejs-express-server.md)
- [haskell](generators/haskell.md)
- [java-inflector](generators/java-inflector.md)
- [java-msf4j](generators/java-msf4j.md)
- [java-pkmst](generators/java-pkmst.md)
- [java-play-framework](generators/java-play-framework.md)
- [java-undertow-server](generators/java-undertow-server.md)
- [java-vertx](generators/java-vertx.md)
- [jaxrs-cxf](generators/jaxrs-cxf.md)
- [jaxrs-cxf-cdi](generators/jaxrs-cxf-cdi.md)
- [jaxrs-jersey](generators/jaxrs-jersey.md)
- [jaxrs-resteasy](generators/jaxrs-resteasy.md)
- [jaxrs-resteasy-eap](generators/jaxrs-resteasy-eap.md)
- [jaxrs-spec](generators/jaxrs-spec.md)
- [kotlin-server](generators/kotlin-server.md)
- [kotlin-spring](generators/kotlin-spring.md)
- [nodejs-server](generators/nodejs-server.md)
- [php-laravel](generators/php-laravel.md)
- [php-lumen](generators/php-lumen.md)
- [php-silex](generators/php-silex.md)
- [php-slim](generators/php-slim.md)
- [php-symfony](generators/php-symfony.md)
- [php-ze-ph](generators/php-ze-ph.md)
- [python-aiohttp](generators/python-aiohttp.md)
- [python-flask](generators/python-flask.md)
- [ruby-on-rails](generators/ruby-on-rails.md)
- [ruby-sinatra](generators/ruby-sinatra.md)
- [rust-server](generators/rust-server.md)
- [scala-finch](generators/scala-finch.md)
- [scala-lagom-server](generators/scala-lagom-server.md)
- [scalatra](generators/scalatra.md)
- [spring](generators/spring.md)
* DOCUMENTATION generators:
- [cwiki](generators/cwiki.md)
- [dynamic-html](generators/dynamic-html.md)
- [html](generators/html.md)
- [html2](generators/html2.md)
- [openapi](generators/openapi.md)
- [openapi-yaml](generators/openapi-yaml.md)
* SCHEMA generators:
- [mysql-schema](generators/mysql-schema.md)
* CONFIG generators:
- [apache2](generators/apache2.md)
- [graphql-schema](generators/graphql-schema.md)

View File

@@ -5,18 +5,21 @@ The following generators are available:
- [android](android.md)
- [apex](apex.md)
- [bash](bash.md)
- [c](c.md)
- [clojure](clojure.md)
- [cpp-qt5](cpp-qt5.md)
- [cpp-qt5-client](cpp-qt5-client.md)
- [cpp-restsdk](cpp-restsdk.md)
- [cpp-tizen](cpp-tizen.md)
- [csharp](csharp.md)
- [csharp-dotnet2](csharp-dotnet2.md)
- [csharp-refactor](csharp-refactor.md)
- [dart](dart.md)
- [dart-jaguar](dart-jaguar.md)
- [eiffel](eiffel.md)
- [elixir](elixir.md)
- [elm](elm.md)
- [erlang-client](erlang-client.md)
- [erlang-proper](erlang-proper.md)
- [flash](flash.md)
- [go](go.md)
- [groovy](groovy.md)
@@ -42,7 +45,7 @@ The following generators are available:
- [scala-httpclient](scala-httpclient.md)
- [scalaz](scalaz.md)
- [swift2-deprecated](swift2-deprecated.md)
- [swift3](swift3.md)
- [swift3-deprecated](swift3-deprecated.md)
- [swift4](swift4.md)
- [typescript-angular](typescript-angular.md)
- [typescript-angularjs](typescript-angularjs.md)
@@ -52,6 +55,7 @@ The following generators are available:
- [typescript-inversify](typescript-inversify.md)
- [typescript-jquery](typescript-jquery.md)
- [typescript-node](typescript-node.md)
- [typescript-rxjs](typescript-rxjs.md)
* SERVER generators:
@@ -64,6 +68,7 @@ The following generators are available:
- [erlang-server](erlang-server.md)
- [go-gin-server](go-gin-server.md)
- [go-server](go-server.md)
- [graphql-server](graphql-server.md)
- [haskell](haskell.md)
- [java-inflector](java-inflector.md)
- [java-msf4j](java-msf4j.md)
@@ -111,6 +116,7 @@ The following generators are available:
* CONFIG generators:
- [apache2](apache2.md)
- [graphql-schema](graphql-schema.md)

View File

@@ -1,19 +1,14 @@
CONFIG OPTIONS for ada-server
---
id: generator-opts-server-ada-server
title: Config Options for ada-server
sidebar_label: ada-server
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
projectName
GNAT project name (Default: defaultProject)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|projectName|GNAT project name| |defaultProject|

View File

@@ -1,19 +1,14 @@
CONFIG OPTIONS for ada
---
id: generator-opts-client-ada
title: Config Options for ada
sidebar_label: ada
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
projectName
GNAT project name (Default: defaultProject)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|projectName|GNAT project name| |defaultProject|

View File

@@ -1,57 +1,26 @@
CONFIG OPTIONS for android
---
id: generator-opts-client-android
title: Config Options for android
sidebar_label: android
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
modelPackage
package for generated models
apiPackage
package for generated api classes
invokerPackage
root package for generated code
groupId
groupId for use in the generated build.gradle and pom.xml
artifactId
artifactId for use in the generated build.gradle and pom.xml
artifactVersion
artifact version for use in the generated build.gradle and pom.xml
sourceFolder
source folder for generated code
useAndroidMavenGradlePlugin
A flag to toggle android-maven gradle plugin. (Default: true)
androidGradleVersion
gradleVersion version for use in the generated build.gradle
androidSdkVersion
compileSdkVersion version for use in the generated build.gradle
androidBuildToolsVersion
buildToolsVersion version for use in the generated build.gradle
serializableModel
boolean - toggle "implements Serializable" for generated models (Default: false)
library
library template (sub-template) to use
volley - HTTP client: Volley 1.0.19 (default)
httpclient - HTTP client: Apache HttpClient 4.3.6. JSON processing: Gson 2.3.1. IMPORTANT: Android client using HttpClient is not actively maintained and will be depecreated in the next major release.
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|modelPackage|package for generated models| |null|
|apiPackage|package for generated api classes| |null|
|invokerPackage|root package for generated code| |null|
|groupId|groupId for use in the generated build.gradle and pom.xml| |null|
|artifactId|artifactId for use in the generated build.gradle and pom.xml| |null|
|artifactVersion|artifact version for use in the generated build.gradle and pom.xml| |null|
|sourceFolder|source folder for generated code| |null|
|useAndroidMavenGradlePlugin|A flag to toggle android-maven gradle plugin.| |true|
|androidGradleVersion|gradleVersion version for use in the generated build.gradle| |null|
|androidSdkVersion|compileSdkVersion version for use in the generated build.gradle| |null|
|androidBuildToolsVersion|buildToolsVersion version for use in the generated build.gradle| |null|
|serializableModel|boolean - toggle &quot;implements Serializable&quot; for generated models| |false|
|library|library template (sub-template) to use|<dl><dt>**volley**</dt><dd>HTTP client: Volley 1.0.19 (default)</dd><dt>**httpclient**</dt><dd>HTTP client: Apache HttpClient 4.3.6. JSON processing: Gson 2.3.1. IMPORTANT: Android client using HttpClient is not actively maintained and will be depecreated in the next major release.</dd><dl>|null|

View File

@@ -1,19 +1,14 @@
CONFIG OPTIONS for apache2
---
id: generator-opts-config-apache2
title: Config Options for apache2
sidebar_label: apache2
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
userInfoPath
Path to the user and group files
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|userInfoPath|Path to the user and group files| |null|

View File

@@ -1,28 +1,17 @@
CONFIG OPTIONS for apex
---
id: generator-opts-client-apex
title: Config Options for apex
sidebar_label: apex
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
classPrefix
Prefix for generated classes. Set this to avoid overwriting existing classes in your org.
apiVersion
The Metadata API version number to use for components in this package.
buildMethod
The build method for this package.
namedCredential
The named credential name for the HTTP callouts
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|classPrefix|Prefix for generated classes. Set this to avoid overwriting existing classes in your org.| |null|
|apiVersion|The Metadata API version number to use for components in this package.| |null|
|buildMethod|The build method for this package.| |null|
|namedCredential|The named credential name for the HTTP callouts| |null|

View File

@@ -1,34 +1,19 @@
CONFIG OPTIONS for aspnetcore
---
id: generator-opts-server-aspnetcore
title: Config Options for aspnetcore
sidebar_label: aspnetcore
---
packageName
C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
packageVersion
C# package version. (Default: 1.0.0)
packageGuid
The GUID that will be associated with the C# project
sourceFolder
source folder for generated code (Default: src)
aspnetCoreVersion
ASP.NET Core version: 2.1 (default), 2.0 (deprecated) (Default: 2.1)
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
useDateTimeOffset
Use DateTimeOffset to model date-time properties (Default: false)
useCollection
Deserialize array types to Collection<T> instead of List<T>. (Default: false)
returnICollection
Return ICollection<T> instead of the concrete type. (Default: false)
useSwashbuckle
Uses the Swashbuckle.AspNetCore NuGet package for documentation. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|C# package name (convention: Title.Case).| |Org.OpenAPITools|
|packageVersion|C# package version.| |1.0.0|
|packageGuid|The GUID that will be associated with the C# project| |null|
|sourceFolder|source folder for generated code| |src|
|aspnetCoreVersion|ASP.NET Core version: 2.1 (default), 2.0 (deprecated)| |2.1|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|returnICollection|Return ICollection&lt;T&gt; instead of the concrete type.| |false|
|useSwashbuckle|Uses the Swashbuckle.AspNetCore NuGet package for documentation.| |true|

View File

@@ -1,40 +1,21 @@
CONFIG OPTIONS for bash
---
id: generator-opts-client-bash
title: Config Options for bash
sidebar_label: bash
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
curlOptions
Default cURL options
processMarkdown
Convert all Markdown Markup into terminal formatting (Default: false)
scriptName
The name of the script that will be generated (e.g. petstore-cli)
generateBashCompletion
Whether to generate the Bash completion script (Default: false)
generateZshCompletion
Whether to generate the Zsh completion script (Default: false)
hostEnvironmentVariable
Name of environment variable where host can be defined (e.g. PETSTORE_HOST='http://api.openapitools.org:8080')
basicAuthEnvironmentVariable
Name of environment variable where username and password can be defined (e.g. PETSTORE_CREDS='username:password')
apiKeyAuthEnvironmentVariable
Name of environment variable where API key can be defined (e.g. PETSTORE_APIKEY='kjhasdGASDa5asdASD') (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|curlOptions|Default cURL options| |null|
|processMarkdown|Convert all Markdown Markup into terminal formatting| |false|
|scriptName|The name of the script that will be generated (e.g. petstore-cli)| |null|
|generateBashCompletion|Whether to generate the Bash completion script| |false|
|generateZshCompletion|Whether to generate the Zsh completion script| |false|
|hostEnvironmentVariable|Name of environment variable where host can be defined (e.g. PETSTORE_HOST='http://api.openapitools.org:8080')| |null|
|basicAuthEnvironmentVariable|Name of environment variable where username and password can be defined (e.g. PETSTORE_CREDS='username:password')| |null|
|apiKeyAuthEnvironmentVariable|Name of environment variable where API key can be defined (e.g. PETSTORE_APIKEY='kjhasdGASDa5asdASD')| |false|

View File

@@ -1,19 +1,14 @@
CONFIG OPTIONS for c
---
id: generator-opts-client-c
title: Config Options for c
sidebar_label: c
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,37 +1,20 @@
CONFIG OPTIONS for clojure
---
id: generator-opts-client-clojure
title: Config Options for clojure
sidebar_label: clojure
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
projectName
name of the project (Default: generated from info.title or "openapi-clj-client")
projectDescription
description of the project (Default: using info.description or "Client library of <projectName>")
projectVersion
version of the project (Default: using info.version or "1.0.0")
projectUrl
URL of the project (Default: using info.contact.url or not included in project.clj)
projectLicenseName
name of the license the project uses (Default: using info.license.name or not included in project.clj)
projectLicenseUrl
URL of the license the project uses (Default: using info.license.url or not included in project.clj)
baseNamespace
the base/top namespace (Default: generated from projectName)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|projectName|name of the project (Default: generated from info.title or &quot;openapi-clj-client&quot;)| |null|
|projectDescription|description of the project (Default: using info.description or &quot;Client library of &lt;projectName&gt;&quot;)| |null|
|projectVersion|version of the project (Default: using info.version or &quot;1.0.0&quot;)| |null|
|projectUrl|URL of the project (Default: using info.contact.url or not included in project.clj)| |null|
|projectLicenseName|name of the license the project uses (Default: using info.license.name or not included in project.clj)| |null|
|projectLicenseUrl|URL of the license the project uses (Default: using info.license.url or not included in project.clj)| |null|
|baseNamespace|the base/top namespace (Default: generated from projectName)| |null|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for cpp-pistache-server
---
id: generator-opts-server-cpp-pistache-server
title: Config Options for cpp-pistache-server
sidebar_label: cpp-pistache-server
---
addExternalLibs
Add the Possibility to fetch and compile external Libraries needed by this Framework. (Default: true)
helpersPackage
Specify the package name to be used for the helpers (e.g. org.openapitools.server.helpers). (Default: org.openapitools.server.helpers)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|addExternalLibs|Add the Possibility to fetch and compile external Libraries needed by this Framework.| |true|
|helpersPackage|Specify the package name to be used for the helpers (e.g. org.openapitools.server.helpers).| |org.openapitools.server.helpers|

View File

@@ -1,25 +1,16 @@
CONFIG OPTIONS for cpp-qt5-client
---
id: generator-opts-client-cpp-qt5-client
title: Config Options for cpp-qt5-client
sidebar_label: cpp-qt5-client
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
cppNamespace
C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
cppNamespace
C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
optionalProjectFile
Generate client.pri. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI|
|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI|
|optionalProjectFile|Generate client.pri.| |true|

View File

@@ -1,22 +1,15 @@
CONFIG OPTIONS for cpp-qt5-qhttpengine-server
---
id: generator-opts-server-cpp-qt5-qhttpengine-server
title: Config Options for cpp-qt5-qhttpengine-server
sidebar_label: cpp-qt5-qhttpengine-server
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
cppNamespace
C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
cppNamespace
C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI|
|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI|

View File

@@ -1,22 +0,0 @@
CONFIG OPTIONS for cpp-qt5
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
cppNamespace
C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
optionalProjectFile
Generate client.pri. (Default: true)
Back to the [generators list](README.md)

View File

@@ -1,19 +1,14 @@
CONFIG OPTIONS for cpp-restbed-server
---
id: generator-opts-server-cpp-restbed-server
title: Config Options for cpp-restbed-server
sidebar_label: cpp-restbed-server
---
modelPackage
C++ namespace for models (convention: name.space.model). (Default: org.openapitools.server.model)
apiPackage
C++ namespace for apis (convention: name.space.api). (Default: org.openapitools.server.api)
packageVersion
C++ package version. (Default: 1.0.0)
declspec
C++ preprocessor to place before the class name for handling dllexport/dllimport. (Default: )
defaultInclude
The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" (Default: )
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|modelPackage|C++ namespace for models (convention: name.space.model).| |org.openapitools.server.model|
|apiPackage|C++ namespace for apis (convention: name.space.api).| |org.openapitools.server.api|
|packageVersion|C++ package version.| |1.0.0|
|declspec|C++ preprocessor to place before the class name for handling dllexport/dllimport.| ||
|defaultInclude|The default include statement that should be placed in all headers for including things like the declspec (convention: #include &quot;Commons.h&quot; | ||

View File

@@ -1,22 +1,15 @@
CONFIG OPTIONS for cpp-restsdk
---
id: generator-opts-client-cpp-restsdk
title: Config Options for cpp-restsdk
sidebar_label: cpp-restsdk
---
modelPackage
C++ namespace for models (convention: name.space.model). (Default: org.openapitools.client.model)
apiPackage
C++ namespace for apis (convention: name.space.api). (Default: org.openapitools.client.api)
packageVersion
C++ package version. (Default: 1.0.0)
declspec
C++ preprocessor to place before the class name for handling dllexport/dllimport. (Default: )
defaultInclude
The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" (Default: )
generateGMocksForApis
Generate Google Mock classes for APIs.
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|modelPackage|C++ namespace for models (convention: name.space.model).| |org.openapitools.client.model|
|apiPackage|C++ namespace for apis (convention: name.space.api).| |org.openapitools.client.api|
|packageVersion|C++ package version.| |1.0.0|
|declspec|C++ preprocessor to place before the class name for handling dllexport/dllimport.| ||
|defaultInclude|The default include statement that should be placed in all headers for including things like the declspec (convention: #include &quot;Commons.h&quot; | ||
|generateGMocksForApis|Generate Google Mock classes for APIs.| |null|

View File

@@ -1,16 +1,13 @@
CONFIG OPTIONS for cpp-tizen
---
id: generator-opts-client-cpp-tizen
title: Config Options for cpp-tizen
sidebar_label: cpp-tizen
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|

View File

@@ -1,13 +1,12 @@
CONFIG OPTIONS for csharp-dotnet2
---
id: generator-opts-client-csharp-dotnet2
title: Config Options for csharp-dotnet2
sidebar_label: csharp-dotnet2
---
packageName
C# package name (convention: Camel.Case). (Default: Org.OpenAPITools)
packageVersion
C# package version. (Default: 1.0.0)
clientPackage
C# client package name (convention: Camel.Case). (Default: Org.OpenAPITools.Client)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|C# package name (convention: Camel.Case).| |Org.OpenAPITools|
|packageVersion|C# package version.| |1.0.0|
|clientPackage|C# client package name (convention: Camel.Case).| |Org.OpenAPITools.Client|

View File

@@ -1,46 +1,23 @@
CONFIG OPTIONS for csharp-nancyfx
---
id: generator-opts-server-csharp-nancyfx
title: Config Options for csharp-nancyfx
sidebar_label: csharp-nancyfx
---
packageName
C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
packageVersion
C# package version. (Default: 1.0.0)
sourceFolder
source folder for generated code (Default: src)
interfacePrefix
Prefix interfaces with a community standard or widely accepted prefix. (Default: )
packageGuid
The GUID that will be associated with the C# project
packageContext
Optionally overrides the PackageContext which determines the namespace (namespace=packageName.packageContext). If not set, packageContext will default to basePath.
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
optionalProjectFile
Generate {PackageName}.csproj. (Default: true)
useDateTimeOffset
Use DateTimeOffset to model date-time properties (Default: false)
useCollection
Deserialize array types to Collection<T> instead of List<T>. (Default: false)
returnICollection
Return ICollection<T> instead of the concrete type. (Default: false)
immutable
Enabled by default. If disabled generates model classes with setters (Default: true)
writeModulePath
Enabled by default. If disabled, module paths will not mirror api base path (Default: true)
asyncServer
Set to true to enable the generation of async routes/endpoints. (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|C# package name (convention: Title.Case).| |Org.OpenAPITools|
|packageVersion|C# package version.| |1.0.0|
|sourceFolder|source folder for generated code| |src|
|interfacePrefix|Prefix interfaces with a community standard or widely accepted prefix.| ||
|packageGuid|The GUID that will be associated with the C# project| |null|
|packageContext|Optionally overrides the PackageContext which determines the namespace (namespace=packageName.packageContext). If not set, packageContext will default to basePath.| |null|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|optionalProjectFile|Generate {PackageName}.csproj.| |true|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|returnICollection|Return ICollection&lt;T&gt; instead of the concrete type.| |false|
|immutable|Enabled by default. If disabled generates model classes with setters| |true|
|writeModulePath|Enabled by default. If disabled, module paths will not mirror api base path| |true|
|asyncServer|Set to true to enable the generation of async routes/endpoints.| |false|

View File

@@ -0,0 +1,30 @@
---
id: generator-opts-client-csharp-refactor
title: Config Options for csharp-refactor
sidebar_label: csharp-refactor
---
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|C# package name (convention: Title.Case).| |Org.OpenAPITools|
|packageVersion|C# package version.| |1.0.0|
|sourceFolder|source folder for generated code| |src|
|packageGuid|The GUID that will be associated with the C# project| |null|
|interfacePrefix|Prefix interfaces with a community standard or widely accepted prefix.| |I|
|targetFramework|The target .NET framework version.|<dl><dt>**v3.5**</dt><dd>.NET Framework 3.5 compatible</dd><dt>**v4.0**</dt><dd>.NET Framework 4.0 compatible</dd><dt>**v4.5.2**</dt><dd>.NET Framework 4.5.2+ compatible</dd><dt>**v5.0**</dt><dd>.NET Standard 1.3 compatible</dd><dt>**uwp**</dt><dd>Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)</dd><dl>|v4.5.2|
|modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |PascalCase|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|returnICollection|Return ICollection&lt;T&gt; instead of the concrete type.| |false|
|optionalMethodArgument|C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only).| |true|
|optionalAssemblyInfo|Generate AssemblyInfo.cs.| |true|
|optionalProjectFile|Generate {PackageName}.csproj.| |true|
|optionalEmitDefaultValues|Set DataMember's EmitDefaultValue.| |false|
|generatePropertyChanged|Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file.| |false|
|nonPublicApi|Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers.| |false|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|netCoreProjectFile|Use the new format (.NET Core) for .NET project files (.csproj).| |false|
|validatable|Generates self-validatable models.| |true|

View File

@@ -1,75 +1,31 @@
CONFIG OPTIONS for csharp
---
id: generator-opts-client-csharp
title: Config Options for csharp
sidebar_label: csharp
---
packageName
C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
packageVersion
C# package version. (Default: 1.0.0)
sourceFolder
source folder for generated code (Default: src)
packageGuid
The GUID that will be associated with the C# project
interfacePrefix
Prefix interfaces with a community standard or widely accepted prefix. (Default: I)
targetFramework
The target .NET framework version. (Default: v4.5)
v3.5 - .NET Framework 3.5 compatible
v4.0 - .NET Framework 4.0 compatible
v4.5 - .NET Framework 4.5+ compatible
v5.0 - .NET Standard 1.3 compatible
uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)
modelPropertyNaming
Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: PascalCase)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
useDateTimeOffset
Use DateTimeOffset to model date-time properties (Default: false)
useCollection
Deserialize array types to Collection<T> instead of List<T>. (Default: false)
returnICollection
Return ICollection<T> instead of the concrete type. (Default: false)
optionalMethodArgument
C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only). (Default: true)
optionalAssemblyInfo
Generate AssemblyInfo.cs. (Default: true)
optionalProjectFile
Generate {PackageName}.csproj. (Default: true)
optionalEmitDefaultValues
Set DataMember's EmitDefaultValue. (Default: false)
generatePropertyChanged
Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file. (Default: false)
nonPublicApi
Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers. (Default: false)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
netCoreProjectFile
Use the new format (.NET Core) for .NET project files (.csproj). (Default: false)
validatable
Generates self-validatable models. (Default: true)
useCompareNetObjects
Use KellermanSoftware.CompareNetObjects for deep recursive object comparison. WARNING: this option incurs potential performance impact. (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|C# package name (convention: Title.Case).| |Org.OpenAPITools|
|packageVersion|C# package version.| |1.0.0|
|sourceFolder|source folder for generated code| |src|
|packageGuid|The GUID that will be associated with the C# project| |null|
|interfacePrefix|Prefix interfaces with a community standard or widely accepted prefix.| |I|
|targetFramework|The target .NET framework version.|<dl><dt>**v3.5**</dt><dd>.NET Framework 3.5 compatible</dd><dt>**v4.0**</dt><dd>.NET Framework 4.0 compatible</dd><dt>**v4.5**</dt><dd>.NET Framework 4.5+ compatible</dd><dt>**v5.0**</dt><dd>.NET Standard 1.3 compatible</dd><dt>**uwp**</dt><dd>Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)</dd><dl>|v4.5|
|modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |PascalCase|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
|returnICollection|Return ICollection&lt;T&gt; instead of the concrete type.| |false|
|optionalMethodArgument|C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only).| |true|
|optionalAssemblyInfo|Generate AssemblyInfo.cs.| |true|
|optionalProjectFile|Generate {PackageName}.csproj.| |true|
|optionalEmitDefaultValues|Set DataMember's EmitDefaultValue.| |false|
|generatePropertyChanged|Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file.| |false|
|nonPublicApi|Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers.| |false|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|netCoreProjectFile|Use the new format (.NET Core) for .NET project files (.csproj).| |false|
|validatable|Generates self-validatable models.| |true|
|useCompareNetObjects|Use KellermanSoftware.CompareNetObjects for deep recursive object comparison. WARNING: this option incurs potential performance impact.| |false|

View File

@@ -1,46 +1,23 @@
CONFIG OPTIONS for cwiki
---
id: generator-opts-documentation-cwiki
title: Config Options for cwiki
sidebar_label: cwiki
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
appName
short name of the application
appDescription
description of the application
infoUrl
a URL where users can get more information about the application
infoEmail
an email address to contact for inquiries about the application
licenseInfo
a short description of the license
licenseUrl
a URL pointing to the full license
invokerPackage
root package for generated code
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|appName|short name of the application| |null|
|appDescription|description of the application| |null|
|infoUrl|a URL where users can get more information about the application| |null|
|infoEmail|an email address to contact for inquiries about the application| |null|
|licenseInfo|a short description of the license| |null|
|licenseUrl|a URL pointing to the full license| |null|
|invokerPackage|root package for generated code| |null|
|groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null|

View File

@@ -1,40 +1,21 @@
CONFIG OPTIONS for dart-jaguar
---
id: generator-opts-client-dart-jaguar
title: Config Options for dart-jaguar
sidebar_label: dart-jaguar
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
browserClient
Is the client browser based
pubName
Name in generated pubspec
pubVersion
Version in generated pubspec
pubDescription
Description in generated pubspec
useEnumExtension
Allow the 'x-enum-values' extension for enums
sourceFolder
source folder for generated code
supportDart2
support dart2 (Default: true)
nullableFields
Is the null fields should be in the JSON payload
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|browserClient|Is the client browser based| |null|
|pubName|Name in generated pubspec| |null|
|pubVersion|Version in generated pubspec| |null|
|pubDescription|Description in generated pubspec| |null|
|useEnumExtension|Allow the 'x-enum-values' extension for enums| |null|
|sourceFolder|source folder for generated code| |null|
|supportDart2|support dart2| |true|
|nullableFields|Is the null fields should be in the JSON payload| |null|

View File

@@ -1,37 +1,20 @@
CONFIG OPTIONS for dart
---
id: generator-opts-client-dart
title: Config Options for dart
sidebar_label: dart
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
browserClient
Is the client browser based
pubName
Name in generated pubspec
pubVersion
Version in generated pubspec
pubDescription
Description in generated pubspec
useEnumExtension
Allow the 'x-enum-values' extension for enums
sourceFolder
source folder for generated code
supportDart2
support dart2 (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|browserClient|Is the client browser based| |null|
|pubName|Name in generated pubspec| |null|
|pubVersion|Version in generated pubspec| |null|
|pubDescription|Description in generated pubspec| |null|
|useEnumExtension|Allow the 'x-enum-values' extension for enums| |null|
|sourceFolder|source folder for generated code| |null|
|supportDart2|support dart2| |true|

View File

@@ -1,28 +1,17 @@
CONFIG OPTIONS for dynamic-html
---
id: generator-opts-documentation-dynamic-html
title: Config Options for dynamic-html
sidebar_label: dynamic-html
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
invokerPackage
root package for generated code
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|invokerPackage|root package for generated code| |null|
|groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null|

View File

@@ -1,13 +1,12 @@
CONFIG OPTIONS for eiffel
---
id: generator-opts-client-eiffel
title: Config Options for eiffel
sidebar_label: eiffel
---
packageName
Eiffel Cluster name (convention: lowercase). (Default: openapi)
packageVersion
Eiffel package version. (Default: 1.0.0)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Eiffel Cluster name (convention: lowercase).| |openapi|
|packageVersion|Eiffel package version.| |1.0.0|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,25 +1,16 @@
CONFIG OPTIONS for elixir
---
id: generator-opts-client-elixir
title: Config Options for elixir
sidebar_label: elixir
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
invokerPackage
The main namespace to use for all classes. e.g. Yay.Pets
licenseHeader
The license header to prepend to the top of all source files.
packageName
Elixir package name (convention: lowercase).
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|invokerPackage|The main namespace to use for all classes. e.g. Yay.Pets| |null|
|licenseHeader|The license header to prepend to the top of all source files.| |null|
|packageName|Elixir package name (convention: lowercase).| |null|

View File

@@ -1,18 +1,13 @@
CONFIG OPTIONS for elm
---
id: generator-opts-client-elm
title: Config Options for elm
sidebar_label: elm
---
elmVersion
Elm version: 0.18, 0.19 (Default: 0.19)
0.19 - Elm 0.19
0.18 - Elm 0.18
elmPrefixCustomTypeVariants
Prefix custom type variants (Default: false)
elmEnableCustomBasePaths
Enable setting the base path for each request (Default: false)
elmEnableHttpRequestTrackers
Enable adding a tracker to each http request (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|elmVersion|Elm version: 0.18, 0.19|<dl><dt>**0.19**</dt><dd>Elm 0.19</dd><dt>**0.18**</dt><dd>Elm 0.18</dd><dl>|0.19|
|elmPrefixCustomTypeVariants|Prefix custom type variants| |false|
|elmEnableCustomBasePaths|Enable setting the base path for each request| |false|
|elmEnableHttpRequestTrackers|Enable adding a tracker to each http request| |false|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for erlang-client
---
id: generator-opts-client-erlang-client
title: Config Options for erlang-client
sidebar_label: erlang-client
---
packageName
Erlang application name (convention: lowercase). (Default: openapi)
packageName
Erlang application version (Default: 1.0.0)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Erlang application name (convention: lowercase).| |openapi|
|packageName|Erlang application version| |1.0.0|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for erlang-proper
---
id: generator-opts-client-erlang-proper
title: Config Options for erlang-proper
sidebar_label: erlang-proper
---
packageName
Erlang application name (convention: lowercase). (Default: openapi)
packageName
Erlang application version (Default: 1.0.0)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Erlang application name (convention: lowercase).| |openapi|
|packageName|Erlang application version| |1.0.0|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for erlang-server
---
id: generator-opts-server-erlang-server
title: Config Options for erlang-server
sidebar_label: erlang-server
---
packageName
Erlang package name (convention: lowercase). (Default: openapi)
openAPISpecName
Openapi Spec Name. (Default: openapi)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Erlang package name (convention: lowercase).| |openapi|
|openAPISpecName|Openapi Spec Name.| |openapi|

View File

@@ -1,16 +1,13 @@
CONFIG OPTIONS for flash
---
id: generator-opts-client-flash
title: Config Options for flash
sidebar_label: flash
---
packageName
flash package name (convention: package.name) (Default: org.openapitools)
packageVersion
flash package version (Default: 1.0.0)
invokerPackage
root package for generated code
sourceFolder
source folder for generated code. e.g. flash
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|flash package name (convention: package.name)| |org.openapitools|
|packageVersion|flash package version| |1.0.0|
|invokerPackage|root package for generated code| |null|
|sourceFolder|source folder for generated code. e.g. flash| |null|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for go-gin-server
---
id: generator-opts-server-go-gin-server
title: Config Options for go-gin-server
sidebar_label: go-gin-server
---
packageName
Go package name (convention: lowercase). (Default: openapi)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Go package name (convention: lowercase).| |openapi|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,10 +1,11 @@
CONFIG OPTIONS for go-server
---
id: generator-opts-server-go-server
title: Config Options for go-server
sidebar_label: go-server
---
packageName
Go package name (convention: lowercase). (Default: openapi)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Go package name (convention: lowercase).| |openapi|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,22 +1,15 @@
CONFIG OPTIONS for go
---
id: generator-opts-client-go
title: Config Options for go
sidebar_label: go
---
packageName
Go package name (convention: lowercase). (Default: openapi)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
packageVersion
Go package version. (Default: 1.0.0)
withGoCodegenComment
whether to include Go codegen comment to disable Go Lint and collapse by default GitHub in PRs and diffs (Default: false)
withXml
whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Go package name (convention: lowercase).| |openapi|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|packageVersion|Go package version.| |1.0.0|
|withGoCodegenComment|whether to include Go codegen comment to disable Go Lint and collapse by default GitHub in PRs and diffs| |false|
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|

View File

@@ -0,0 +1,12 @@
---
id: generator-opts-server-graphql-nodejs-express-server
title: Config Options for graphql-nodejs-express-server
sidebar_label: graphql-nodejs-express-server
---
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|GraphQL Node.js Express server package name (convention: lowercase).| |openapi3graphql-server|
|packageVersion|GraphQL Node.js Express server package version.| |1.0.0|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,13 +1,12 @@
CONFIG OPTIONS for graphql-schema
---
id: generator-opts-config-graphql-schema
title: Config Options for graphql-schema
sidebar_label: graphql-schema
---
packageName
GraphQL package name (convention: lowercase). (Default: openapi2graphql)
packageVersion
GraphQL package version. (Default: 1.0.0)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|GraphQL package name (convention: lowercase).| |openapi2graphql|
|packageVersion|GraphQL package version.| |1.0.0|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,13 +1,12 @@
CONFIG OPTIONS for graphql-server
---
id: generator-opts-server-graphql-server
title: Config Options for graphql-server
sidebar_label: graphql-server
---
packageName
GraphQL express server package name (convention: lowercase). (Default: openapi3graphql-server)
packageVersion
GraphQL express server package version. (Default: 1.0.0)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|GraphQL express server package name (convention: lowercase).| |openapi3graphql-server|
|packageVersion|GraphQL express server package version.| |1.0.0|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,119 +1,45 @@
CONFIG OPTIONS for groovy
---
id: generator-opts-client-groovy
title: Config Options for groovy
sidebar_label: groovy
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
modelPackage
package for generated models
apiPackage
package for generated api classes
invokerPackage
root package for generated code
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
artifactUrl
artifact URL in generated pom.xml
artifactDescription
artifact description in generated pom.xml
scmConnection
SCM connection in generated pom.xml
scmDeveloperConnection
SCM developer connection in generated pom.xml
scmUrl
SCM URL in generated pom.xml
developerName
developer name in generated pom.xml
developerEmail
developer email in generated pom.xml
developerOrganization
developer organization in generated pom.xml
developerOrganizationUrl
developer organization URL in generated pom.xml
licenseName
The name of the license
licenseUrl
The URL of the license
sourceFolder
source folder for generated code
localVariablePrefix
prefix for generated code members and local variables
serializableModel
boolean - toggle "implements Serializable" for generated models (Default: false)
bigDecimalAsString
Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
fullJavaUtil
whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
hideGenerationTimestamp
hides the timestamp when files were generated
withXml
whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
dateLibrary
Option. Date library to use
joda - Joda (for legacy app only)
legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
java8
Option. Use Java8 classes instead of third party equivalents
true - Use Java 8 classes such as Base64
false - Various third party libraries as needed
disableHtmlEscaping
Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
booleanGetterPrefix
Set booleanGetterPrefix (default value 'get')
parentGroupId
parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentArtifactId
parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
parentVersion
parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
configPackage
configuration package for generated code
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|modelPackage|package for generated models| |null|
|apiPackage|package for generated api classes| |null|
|invokerPackage|root package for generated code| |null|
|groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null|
|artifactUrl|artifact URL in generated pom.xml| |null|
|artifactDescription|artifact description in generated pom.xml| |null|
|scmConnection|SCM connection in generated pom.xml| |null|
|scmDeveloperConnection|SCM developer connection in generated pom.xml| |null|
|scmUrl|SCM URL in generated pom.xml| |null|
|developerName|developer name in generated pom.xml| |null|
|developerEmail|developer email in generated pom.xml| |null|
|developerOrganization|developer organization in generated pom.xml| |null|
|developerOrganizationUrl|developer organization URL in generated pom.xml| |null|
|licenseName|The name of the license| |null|
|licenseUrl|The URL of the license| |null|
|sourceFolder|source folder for generated code| |null|
|localVariablePrefix|prefix for generated code members and local variables| |null|
|serializableModel|boolean - toggle &quot;implements Serializable&quot; for generated models| |false|
|bigDecimalAsString|Treat BigDecimal values as Strings to avoid precision loss.| |false|
|fullJavaUtil|whether to use fully qualified name for classes under java.util. This option only works for Java API client| |false|
|hideGenerationTimestamp|hides the timestamp when files were generated| |null|
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|dateLibrary|Option. Date library to use|<dl><dt>**joda**</dt><dd>Joda (for legacy app only)</dd><dt>**legacy**</dt><dd>Legacy java.util.Date (if you really have a good reason not to use threetenbp</dd><dt>**java8-localdatetime**</dt><dd>Java 8 using LocalDateTime (for legacy app only)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets &quot;java8&quot; to true</dd><dt>**threetenbp**</dt><dd>Backport of JSR310 (preferred for jdk &lt; 1.8)</dd><dl>|null|
|java8|Option. Use Java8 classes instead of third party equivalents|<dl><dt>**true**</dt><dd>Use Java 8 classes such as Base64</dd><dt>**false**</dt><dd>Various third party libraries as needed</dd><dl>|null|
|disableHtmlEscaping|Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)| |false|
|booleanGetterPrefix|Set booleanGetterPrefix (default value 'get')| |null|
|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
|configPackage|configuration package for generated code| |null|

View File

@@ -1,73 +1,32 @@
CONFIG OPTIONS for haskell-http-client
---
id: generator-opts-client-haskell-http-client
title: Config Options for haskell-http-client
sidebar_label: haskell-http-client
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
cabalPackage
Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens
cabalVersion
Set the cabal version number, consisting of a sequence of one or more integers separated by dots
baseModule
Set the base module namespace
requestType
Set the name of the type used to generate requests
configType
Set the name of the type used for configuration
allowFromJsonNulls
allow JSON Null during model decoding from JSON (Default: true)
allowToJsonNulls
allow emitting JSON Null during model encoding to JSON (Default: false)
allowNonUniqueOperationIds
allow different API modules to contain the same operationId. Each API must be imported qualified (Default: false)
generateLenses
Generate Lens optics for Models (Default: true)
generateModelConstructors
Generate smart constructors (only supply required fields) for models (Default: true)
generateEnums
Generate specific datatypes for OpenAPI enums (Default: true)
generateFormUrlEncodedInstances
Generate FromForm/ToForm instances for models that are used by operations that produce or consume application/x-www-form-urlencoded (Default: true)
inlineMimeTypes
Inline (hardcode) the content-type and accept parameters on operations, when there is only 1 option (Default: true)
modelDeriving
Additional classes to include in the deriving() clause of Models
strictFields
Add strictness annotations to all model fields (Default: true)
useMonadLogger
Use the monad-logger package to provide logging (if false, use the katip logging package) (Default: false)
dateTimeFormat
format string used to parse/render a datetime
dateFormat
format string used to parse/render a date (Default: %Y-%m-%d)
hideGenerationTimestamp
Hides the generation timestamp when files are generated. (Default: true)
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|cabalPackage|Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens| |null|
|cabalVersion|Set the cabal version number, consisting of a sequence of one or more integers separated by dots| |null|
|baseModule|Set the base module namespace| |null|
|requestType|Set the name of the type used to generate requests| |null|
|configType|Set the name of the type used for configuration| |null|
|allowFromJsonNulls|allow JSON Null during model decoding from JSON| |true|
|allowToJsonNulls|allow emitting JSON Null during model encoding to JSON| |false|
|allowNonUniqueOperationIds|allow different API modules to contain the same operationId. Each API must be imported qualified| |false|
|generateLenses|Generate Lens optics for Models| |true|
|generateModelConstructors|Generate smart constructors (only supply required fields) for models| |true|
|generateEnums|Generate specific datatypes for OpenAPI enums| |true|
|generateFormUrlEncodedInstances|Generate FromForm/ToForm instances for models that are used by operations that produce or consume application/x-www-form-urlencoded| |true|
|inlineMimeTypes|Inline (hardcode) the content-type and accept parameters on operations, when there is only 1 option| |true|
|modelDeriving|Additional classes to include in the deriving() clause of Models| |null|
|strictFields|Add strictness annotations to all model fields| |true|
|useMonadLogger|Use the monad-logger package to provide logging (if false, use the katip logging package)| |false|
|dateTimeFormat|format string used to parse/render a datetime| |null|
|dateFormat|format string used to parse/render a date| |%Y-%m-%d|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|

View File

@@ -1,22 +1,15 @@
CONFIG OPTIONS for haskell
---
id: generator-opts-server-haskell
title: Config Options for haskell
sidebar_label: haskell
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
modelPackage
package for generated models
apiPackage
package for generated api classes
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|modelPackage|package for generated models| |null|
|apiPackage|package for generated api classes| |null|

View File

@@ -1,46 +1,23 @@
CONFIG OPTIONS for html
---
id: generator-opts-documentation-html
title: Config Options for html
sidebar_label: html
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
appName
short name of the application
appDescription
description of the application
infoUrl
a URL where users can get more information about the application
infoEmail
an email address to contact for inquiries about the application
licenseInfo
a short description of the license
licenseUrl
a URL pointing to the full license
invokerPackage
root package for generated code
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|appName|short name of the application| |null|
|appDescription|description of the application| |null|
|infoUrl|a URL where users can get more information about the application| |null|
|infoEmail|an email address to contact for inquiries about the application| |null|
|licenseInfo|a short description of the license| |null|
|licenseUrl|a URL pointing to the full license| |null|
|invokerPackage|root package for generated code| |null|
|groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null|

View File

@@ -1,58 +1,27 @@
CONFIG OPTIONS for html2
---
id: generator-opts-documentation-html2
title: Config Options for html2
sidebar_label: html2
---
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
prependFormOrBodyParameters
Add form or body parameters to the beginning of the parameter list. (Default: false)
appName
short name of the application
appDescription
description of the application
infoUrl
a URL where users can get more information about the application
infoEmail
an email address to contact for inquiries about the application
licenseInfo
a short description of the license
licenseUrl
a URL pointing to the full license
invokerPackage
root package for generated code
phpInvokerPackage
root package for generated php code
perlModuleName
root module name for generated perl code
pythonPackageName
package name for generated python code
packageName
C# package name
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
Back to the [generators list](README.md)
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|appName|short name of the application| |null|
|appDescription|description of the application| |null|
|infoUrl|a URL where users can get more information about the application| |null|
|infoEmail|an email address to contact for inquiries about the application| |null|
|licenseInfo|a short description of the license| |null|
|licenseUrl|a URL pointing to the full license| |null|
|invokerPackage|root package for generated code| |null|
|phpInvokerPackage|root package for generated php code| |null|
|perlModuleName|root module name for generated perl code| |null|
|pythonPackageName|package name for generated python code| |null|
|packageName|C# package name| |null|
|groupId|groupId in generated pom.xml| |null|
|artifactId|artifactId in generated pom.xml| |null|
|artifactVersion|artifact version in generated pom.xml| |null|

Some files were not shown because too many files have changed in this diff Show More