Commit Graph

8392 Commits

Author SHA1 Message Date
Aleksandr Nekrasov
a5c5b2f6d0 [BUG][scala][template] scala generate java.math.BigDecimal instead of scala type (#5514)
* [BUG] scala generate java.math.BigDecimal instead of scala type

* update docs/generators
2020-03-04 16:55:32 +08:00
William Cheng
6db09f40be [php] replace $collectionFormat with $style (#5517)
* php - remove $collectionFormat

* update php openapi3 petstore sample
2020-03-04 15:54:44 +08:00
copypasta-g
3e5fb670e2 fix(php): no need to serialize collections, Guzzle does that, fix #2292 (#3984)
* fix(php): only serialize collections if !explode, Guzzle handles the rest, fix #2292

* fix(php): update petstore samples

Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>
2020-03-04 10:23:30 +08:00
Daniel Klessing
33129ca104 [Java][Spring][Spring-Cloud] Fix #5144 - Use conditional package declaration to avoid unnecessary dependencies (#5145)
* FIX: Use conditional package declaration to avoid unnecessary dependencies

* DEV: Adjusted sample ClientConfiguration.java for async spring-cloud
2020-03-04 10:21:46 +08:00
Yuriy Belenko
39aeb4a8ae [Slim4] Add Data Mocker middleware (#4978)
* [Slim4] Store response schemas

* [Slim4] Add Data Mocker middleware

* [Slim4] Enhance Slim router

* [Slim4] Enhance config

* [Slim4] Fix data format key in object mocking

* [Slim4] Add tests for Data Mocker middleware

* [Slim4] Add Mock feature documentation

* [Slim4] Refresh samples
2020-03-03 23:53:57 +08:00
Jim Schubert
51cc7c2f2a [core] Sanitize/underscore/camelize cache expiry (#5484)
The helper methods for sanitize/underscore/camelize were recently
updated to cache values in static maps. This would lead to a memory leak
in hosted environments as the maps had no cleanup/expiry.

This moves those cached entries to Caffeine caches with expiry based on
last access to allow the edge-case performance improvement gains on very
large documents, without the memory leak in hosted or embedded
environments.
2020-03-03 17:29:51 +08:00
Bodo Graumann
c27d4001e1 Typescript array alias array (#4981)
* Add failing tests for typescript type declaration

* Refactor array and map child type string fallback

* Add unaliasSchema to typescript getTypeDeclaration

* TypeScriptRxjs: Use Blob as file type declaration

This was inadvertantly changed in
https://github.com/OpenAPITools/openapi-generator/pull/5266
2020-03-03 17:20:49 +08:00
Aleksandr Nekrasov
6dd76d65e7 [scala] [template] scala model property style (#5486)
* Model property naming style generic for scala

* scala templates based on abstractScala regererated

* docs generators updated

* property format tests
2020-03-02 11:48:09 +08:00
ChristianCiach
a10452e37f Add missing @Generated annotation. (#5384)
The annotation is present on other generated files when using jaxrs-spec, but it missing on model classes.
2020-03-01 23:19:17 +08:00
Jorge Rodriguez
21e285cea9 [BUG] [JAVA | Spring] Cookie in parameter is not correctly generated (#5393)
* Cookie in parameter is not correctly generated

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Update test file

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Regenerate samples

* gh-5386: Fix test

* Added Spring CookieValue tests

Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>
2020-03-01 23:12:20 +08:00
Mateusz Szychowski (Muttley)
4c6648f1a9 [C++] Add an option to allow having lowercase variables in models, Pistache: allow using reservedWords in models (#5434)
* [C++][Pistache] Use reserved words to replace incorrect names

discard old decision to truncate reservedWords

* [C++][Pistache] Update struct model to use name instead of baseName

* [C++][Pistache] Update Petstore sample

* [C++] Add option to have lowercase variables

* [C++] Update generated docs
2020-03-01 12:39:45 +01:00
Yutaka Miyamae
015b404729 [kotlin]Fix ktor doesn't generate nullable types (#5258)
* If not required, need `? = null`

* run  ./bin/kotlin-server-petstore.sh

* Added `?` when value is `required` and `isNullable`

* Rerun ./bin/kotlin-server-petstore.sh. But No differences
2020-03-01 17:58:58 +08:00
Jim Schubert
f6f5c9b8b9 [cli][gradle] Validate now uses parseOptions w/setResolve (#5471)
* [cli] Validate now uses parseOptions w/setResolve

The validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.

* [gradle] Validate now uses parseOptions w/setResolve

The Graldle validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
2020-03-01 17:26:13 +08:00
Jiri Kuncar
a03f7a58c3 [java] Support aliasing of API keys (#4966)
* [java] Support aliasing of API keys

* Rebuild Java Jersey2 sample client

* x-lookup to x-auth-id-alias

* Regenerated
2020-03-01 16:33:18 +08:00
Jiri Kuncar
35e90a553d [go-experimental] Support aliasing of API keys (#4940)
* [go-experimental] Support aliasing of API keys

* Use {{.}} inside condition

* Use name instead of keyParamName for lookup

* x-lookup to x-auth-id-alias
2020-03-01 16:31:37 +08:00
Hui Yu
10d5d27a7c [C-libcurl] The name in API parameter should not be escaped even though it includes a C key word. (#5487) 2020-03-01 10:54:53 +08:00
Jiri Kuncar
165ad45797 [go] Add Ptr method to const enum values (#5257) 2020-02-29 14:05:14 -05:00
William Cheng
0ed1b83593 fix CVE-2020-8130 (#5483) 2020-02-29 20:04:34 +09:00
Justin Black
9e596697a9 [python] Adds python oneOf/anyOf models + tests (#5341)
* Adds oneOf + anyOf schemas, models and tests to python-experimental

* Adds setUpClass and tearDownClass

* Removes newline in method_init_shared.mustache

* Regenerated v3 spec sample for python-experimental

* Fxes test for discard_unknown_keys

* Moves new models into existing spec, regen python-exp and go-exp

* Also fix python-exp windows file
2020-02-28 14:21:08 -08:00
Justin
857a4bf5d9 Use the dataType if the baseType is not set (#5372)
* Use the dataType if the baseType is not set

* add tests for passing enum as parameter

* updated requirements file in samples

* Update spec to explicitly name objects and prevent `inline_object`

* use the correct scripts to generate samples (`bin/openapi3/python-flask*`)
2020-02-28 09:46:57 -08:00
William Cheng
4603061c17 [Scala][sttp] various improvements (#5475)
* various improvements to scala sttp

* update ScalaSttpClientCodegen.java

* add windows batch file

* test scala sttp in jdk8

* fix tempalte directory
2020-02-29 00:34:46 +08:00
Aleksandr Nekrasov
84250973be [scala] strip model class name for all scala generators (#5439)
* stripped parameter enabled for all scala based generators

* scala samples updated

* docs generators updated

* fix scalatra. regenerated by openapi3 script.
manually removed enum default value from scalatra example due bug in schema extraction
2020-02-28 20:44:02 +08:00
Akira Tanimura
cc20eb8109 [Ruby] Fix obsolete configuration of Rubocop and Rubocop's warns (#5417) (#5474)
* fix obsolute configuration in generated .rubocop.yml

* fix style of `expect` with block in generated ruby client's test code

* update sample of ruby client
2020-02-28 20:36:25 +08:00
Aleksandr Nekrasov
40cbbbfefd [scala] [template] scala sttp client (#5429)
* scala-sttp-client template

* invoker for sttp fixed and tests added

* clean up pet api test from redunant comments

* docs updated

* fix artefact name, model comments and redunant generic

* code optimization

* cross scala versions 2.11 2.12 2.13

* date serializers extracted and joda enabled as default

* basic and bearer authorization added, apikey in query supported
2020-02-28 15:48:55 +08:00
Bruno Coelho
d325e8c618 [Swift5] small improvements to Objc compatibility (#5410)
* [swift] make some small improvements

* [swift][client] revert model to use allVars

* PostProcessModelProperty with allVars

* PostProcessModelProperty with vars

* [swift] improve objc interoperability

* [swift] fix swift4 for CI to pass

* [swift] improve objc interoperability

* [swift] improve objc interoperability

* Swift - try to fix build

* [swift] remove pods from git
2020-02-28 14:47:18 +08:00
Jim Schubert
36b1a61b70 [all] Move feature set setter (#5460)
When I originally implemented the feature set code, I added the
getter/setter on DefaultCodegen and CodegenConfig as well as on
GeneratorMetadata. GeneratorMetadata also includes the library variation
features. When I went to add library-specific features, I realized the
discrepancy.

This removes the public setter from DefaultCodegen/CodegenConfig, and
adds a protected modifyFeatureSet which accepts a lambda and hides the
builder logic away in the method.

This will be a breaking change for anyone who's created a custom
generator in 4.2.3, so the impact is very limited.
2020-02-28 14:45:06 +08:00
val
ca944542e0 Added support for msvc builds in cpp-qt5-client generator (#5468)
* Added support for msvc builds

Moved GCC-specific compile flags to non msvc builds, and added equivalent flags for msvc.

* CMakeLists condition cleanup
2020-02-28 14:43:37 +08:00
Alexey Makhrov
0edb628633 [typescript] Clean up modelPropertyNaming across generators (#5427)
* [typescript] Clean up modelPropertyNaming across generators
Fixes https://github.com/OpenAPITools/openapi-generator/issues/2976

Generators without runtime models conversion use "original" property naming by default. It's still possible to change it via cli options

Generators with runtime conversion keep using "camelCase"

* Refactoring: use enum instead of string for modelPropertyNaming

* Restore the original camelCase for var names, decouple it from property names

* Swap toParamName and toVarName logic (looks like I've mistaken them)

* Regenerate docs

* Remove a no longer used private method
2020-02-28 07:31:19 +01:00
Nikita
a4fc319502 Fix #5420 add headers from configuration object (#5422)
* Fix #5420 add headers from configuration object

* Add baseOptions undefined checking #5420

* Update the samples and replace array to object #5420

* Update sample
2020-02-28 07:27:41 +01:00
Michele Albano
b0b46d57e0 Support for additionalProperties in the C generator "Client: C" solves #5395 (#5440)
* Support for additionalProperties in the C generator.

* Support for additionalProperties in the C generator.
2020-02-28 09:22:50 +08:00
William Cheng
50d21cb0d1 fix issue with online service (#5461) 2020-02-27 22:03:35 +08:00
William Cheng
5f547b821f [Java][WebClient] better code format (#5433)
* better code format for java webclient

* prefix local varaible with localVar
2020-02-27 12:05:03 +08:00
William Cheng
ba0d673eaa fix NPE for enum (#5445) 2020-02-27 12:04:38 +08:00
Akihito Nakano
427adc74f2 [Ruby] Add error output (#5428)
* Add error output to the log so that we can make sure why the error occurred

* Fix forbidden method invocation using default charsets
2020-02-26 12:57:48 +09:00
Herve DARRITCHON
f6ef4fbec7 [kotlin][client] Add Jackson as serialization library (#5236)
* [kotlin][client] Add Jackson as serialization library

* [kotlin][client] Add kotlin-client-jackson.sh to kotlin-client-all.sh

* update kotlin client samples

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-02-25 23:41:09 +08:00
dwlabcube
ece48d0bbc Removal of Encoding in the Query-Params in order to prevent double Encoding. (#5255)
This way letting WebClient do its Job in encoding the URL.
2020-02-25 18:10:40 +08:00
sunn
2d6311cbdc Change the Model template (#5222) 2020-02-25 17:21:44 +08:00
William Cheng
54c2956461 [Erlang][Server] fix import for multiple API key auth (#5424)
* fix multi api key import in erlang server

* update samples

* better code format for cpp server generator
2020-02-25 16:43:01 +08:00
Sem Schilder
c0fcffdfe4 Add return types to getter and fluent setter (#5348)
* Add return types to getter and fluent setter

* Add build example output
2020-02-25 11:46:43 +08:00
Alexej
b05df5d3ef [Java] Error generating java due to a default for a date #5086 (#5333)
* Fix OpenAPITools#5086 handling date examples in openapi 3.0

* Fix OpenAPITools#5086
created test for handling date value
renamed variable p to schema
created field birthday in test yaml

* Fix OpenAPITools#5086
reverted birthday, because breaking tests

* Fix OpenAPITools#5086
create String in ISO format for date default. That can be converted to LocalDate
fixed Test
2020-02-25 11:24:14 +08:00
Çağdaş
8f738a9b41 [erlang] Do not export function if not defined. (#5394)
Logic added to logic_handler.mustache so that it does not export authorize_api_key/3 when the function is not defined, leading to compilation error.
2020-02-25 10:45:16 +08:00
Alexander Weaver
04cad77caa Add reserved word option to Pistache and Restbed generators (#5418)
* Add reserved word option to Pistache and Restbed generators

* Regenerate docs
2020-02-25 10:37:43 +08:00
Alexander Weaver
231ec6bcac [BUG][C++] Avoid using plain underscore when escaping reserved words (#5269)
* Don't use plain underscore when escaping reserved words

* Regenerate petstore output

* Add CLI option for reserved word prefix

* Ensure CLI option isn't cleared in cpprest client codegen

* Regenerate docs
2020-02-24 21:24:43 +08:00
Åsmund Grammeltvedt
23e76f2a50 [typescript] Add ReadonlyArray to native types (#5399)
* [typescript] Add ReadonlyArray to native types

This allows mapping the array type to TypeScript's ReadonlyArray

* Update docs

* restart travis
2020-02-24 11:13:13 +01:00
Hector Jusforgues
2b1a64159d kotlin-server: fix features' imports (#5404)
make the import conditional, and add a few that were missing

without this, setting `featureCORS` or `featureConditionalHeaders` to true produces invalid code
2020-02-23 17:44:50 -05:00
Jim Schubert
ef008549b3 [handlebars] Honor supporting files when applying bundles (#5364)
* [handlebars] Honor supporting files when applying bundles
2020-02-23 16:59:37 -05:00
Tomasz Prus
3f0c163f0c [python] add method to set/get default configuration (#5315)
* [python] add method to set/get default configuration

* [python] change method name and fix handling api_key

* python: using modified deepcopy to set/get default configuration

* python: update samples

* python: update samples
2020-02-23 14:10:44 -06:00
Jim Schubert
e4823cf4e6 [go][java] Document new parameterized server support (#5380)
* [go][java] Document new parameterized server support

* [java] Regenerate samples
2020-02-22 20:06:38 -05:00
Sebastien Rosset
e08e05a2c7 [Python] add discard_unknown_keys parameter (#5362)
* add discard_unknown_key parameter

* add discard_unknown_key parameter

* add discard_unknown_key parameter

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* run sample scripts for python

* code reformatting

* execute script in bin directory

* improve unit tests for discarding properties
2020-02-21 16:51:24 -06:00
Hinrik Örn Sigurðsson
972ba18e6a [PHP] Remove model prefix/suffix from inline enum var names (#4489)
* [PHP] Remove model prefix/suffix from inline enum var names

This resolves issue #4403.

On a model `Foo` with an inline enum `Bar` which has a possible string
value `baz`. we should generate a `FooDTO::BAR_BAZ` constant, not
`FooDTO::BAR_DTO_BAZ`.

* Empty commit for another CI run
2020-02-21 16:37:17 +09:00