Originally, this dummy declaration was needed because there was the
possibility of the generated code doesn't use `context.Context` and then
if it imported that package, go compiler complains that and makes an error.
ref: 3ed1aa8e79/modules/swagger-codegen/src/main/resources/go/api.mustache (L30)
However, now this dummy placement is no longer needed because the
generated code always uses `context.Context`.
Signed-off-by: moznion <moznion@mail.moznion.net>
* add missing import, better code format for kotlin generators
* update kotlin workflow
* more kotlin tests
* better code format
* separate kotlin client, server teets
* comment out tests
* better code format in java tests
* better code format in java client codegen
* better code format in java model tests
* better code format in abstract java codegen
* better code format in codegen parameter, property
* better code format in codegen response
* better code format in codegen model
* better code format in default generator
* better code format in default codegen
* update codegen model
* Move static logic to initialization method when no RestTemplate is provided.
Otherwise, use the settings from the RestTemplate that was provided.
* Move code outside of withXml
Run required scripts
Co-authored-by: Westerlaken, H.L. (Laurens) <laurens.westerlaken@devolksbank.nl>
* remove jdk8 support from spring generators
* update tests, remove commented code in AbstractJavaCodegen
* add back implementation
* add back import
* generate code for non reactive
* fixes#11579: Java RestTemplate Mustache template doesn't use reserved words for local variables
* fixes#11579: Java RestTemplate samples
Co-authored-by: Marek Hudik <marek.hudik@broadcom.com>
* add samples/server/petstore/spring-boot-nullable-set to github workflow
* add github workflow to test scala clients and servers
* trigger build
* remove module
* trigger build
* test with jdk8
* trigger build
* test with jdk11
* clean up pom.xml
* remove groovy from pom.xml
* update samples
* Bugfix: delay clearing *TemplateFiles with apiFirst #2407
* Bugfix: delay clearing *TemplateFiles with apiFirst #2407 (add test case)
* spring api.mustache: fix unhandledException #10860
* Generate samples
* add sample
* Generate samples
* Fixed mustache template for FormParams. Use paramName instead of baseName for variable name.
This will fix an issue when parameter name is one of the reserved keywords (#7506)
# Conflicts:
# modules/openapi-generator/src/main/resources/JavaSpring/formParams.mustache
# modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
* Move and comment apiFrst
Co-authored-by: Andrii Hrytsiuk <andrii.hrytsiuk@gmail.com>
* Add default value support to cookie and header params
* Generate Samples
* Replace "OffsetDateTime.parse(..)" with toString();
* Generate Samples
* Revert "Replace "OffsetDateTime.parse(..)" with toString();"
This reverts commit 2e37411b30.
* Format java.util.Date to ISO Date in AbstractJavaCodegen.toDefaultParameterValue
* Generate Samples
* Generate Samples
* Use toParameterDefault()
* Generate Samples
* Implement testDateTimeFormParameterHasDefaultValue unit test
* Add more test coverage.
* Remove postProcessParameter() since is has no effect after using toDefaultParameterValue()
* Use LocalDate.parse() in toDefaultValue()
* Generate Samples
* Return a defaultValue only if dateTimeLibrary is java8.
* Check size of x-tags list
* Remove unused variable assigment
* Fix issue number in test method name
* Fix typo
* Add tag to @ApoOperation only if any tag is given
* Rename data provider method
* Remove unused import
Remove CIRCE_VERSION from generator because it is taken in as a transitive dependency of ` "com.softwaremill.sttp.client3" %% "json4s" % "3.3.18"`
Co-authored-by: boris <borissmidt@hotmail.com>
* Add cycle detection (#7532)
* Review feedback
* Including ContextAwareNodes to detect cycles more accurately.
* Add test
* Add forest to test.
* No longer need ContextAwareNode
* Review feedback
* Update samples
* Content mediatype is hardcoded in api.mustache #11511
* Generate Samples
* OAS3 incorrect data type when providing a default value #11367
* Generate Samples
* Fix JsonTypeName annotation handling in Java and JavaSpring
* Generate Samples
* getIsClassnameSanitized: use null safe equals
The currently generated code will throw a `ClassCastException` if `type` is `Object`. I'm not quite sure why `isAssignableFrom` is used here but I tried to keep the change minimal - in my understanding, the result would be the same if the line was
```
if(Types.getRawType(type).equals(ApiResponse.class)) {
```
because the `ApiResponse` only extends `Object` and implements no interfaces. Maybe it was meant to be `ApiResponse.class.isAssignableFrom(Types.getRawType(type))`? This would also permit subclasses of `ApiResponse`, but then it would be more complicated to determine the actual type parameter (because `type` itself may not be parameterized) and to create the object to return (because it would have to be an instance of the subclass).
* Adds bases for int32, int64, float32, and float64
* Samples updated
* Removes print statements
* When creating properties and items do not call _from_openapi_data or model __new__
* Update speed improvement
* cast_to_allowed_types speeed improvements
* _get_new_instance_without_conversion order swap for speed
* Fixes test errors
* Small fixes about path_to_schemas
* Adds component with composition in property example
* Adds endpoint parameter examples
* Adds request body examples
* Adds inpline composition example in response body
* Fixes UNKNOWNBASETYPE import bug
* Updates allof inline schemas to be type object with minProperties
* Removes newline
* Adds test_ObjectWithInlineCompositionProperty
* Updates inline schema to be type string, adds partial test_inline_composition
* Fixes accept_content_types input value
* Adds test_ObjectWithInlineCompositionProperty, adds test_inline_composition and starts deserialization of multipart
* Fixes test_inline_composition, adds simple multipat/form-data deserialization
* feat(typescript-rxjs): add support for rxjs 7.2.0, use type imports
* feat(typescript-rxjs): regenerate samples
* feat(typescript-rxjs): use generic T instead of any in BaseAPI
* feat(typescript-rxjs): regenerate samples
* add stringEnums option
* update templates
* add export
* update samples
* update document
* improve readability
* remove unnecessary code
* add config file for sample
* add sample
* update sample
* remove enum variable form modelObjetEnum template because this variable is not used in modelStringEnum template.
* change the indentation to be the same as modelGeneric template
* Add nillable data types to models
Only REQUIRED and NOT NULLABLE variables can NOT have type Nil
All OPTIONAL and NULLABLE-REQUIRED variables have type Nil
Only NULLABLE-REQUIRED variables should emit keys with null values when they are serialized, json example: property name : String? = nil; the json representation for this property is {"name": null}
For all OPTIONAL variables having Nil values, their variable keys would be skipped during serialization. The json representation for OPTIONAL property name : String? = nil; would be: {}
* Fix failed tests in samples/client/petstore/crystal/spec/api/pet_api_spec.cr
* Remove isNullable from model template
* No need to check nillability of required property
For any required property, assigning nil value to it will result in compilation error
The datatype simply can not hold value nil, so there's no need to check it
* Place required vars first in initializor
* Refresh generated sample code for crystal client
* Required properties are not nillable
* Fix compilation error of undefined method equal?
Crystal lang doesn't have method equal?
We should use method same? instead of ruby's equal? method
Reference: https://crystal-lang.org/api/master/Reference.html#same?(other:Reference):Bool-instance-method
* Add tests for add_pet api endpoint with only required parameters
Setting Pet optional properties to nil values is allowed by add_pet api endpoint
* Add helper method to test compilation errors
* Add tests to Pet model
Test model initializations
Test compilation error when model is initialized without required properties
* Test required properties in json deserialization for Pet model
* Added templates for Kotlin JAX-RS server
* Fixed Kotlin Server JAX-RS template directory
* Added support for Kotlin Server JAX-RS library
* Added support using coroutines with Kotlin server JAX-RS library
* Added sample for Kotlin server JAX-RS library
* Added support for returnResponse option into Kotlin server JAX-RS library
* Fixed issue with optional parameters in Kotlin JAX-RS spec
* Fixed oneOf issue in Kotlin jaxrs-spec generator
* Added better documentation to Kotlin Server JAX-RS options
* Updated kotlin-server.md
* Updated kotlin-server jaxrs-spec samples
* Fixed issue with Kotlin JAX-RS spec and reserved names
* Regenerated samples
* add custom agent support
* samples
* more samples
* merge master files
* only enable custom agent on nodejs not browser
* samples again
* samples
* samples once more
* added generichost library
* added templates
* added an event, improved docs, added logging
* adding event args file
* fixed hard coded package name
* added an AddTokens overload for a single token
* changed api clients to singletons to support the event registration
* build samples
* log exceptions while executing api responded event
* nrt bug fixes, dangling comma fix
* resolving comments
* removed debugging lines
* refactored token provider
* rate limit provider now default
* updated readme, added ConfigureAwait(false)
* DI fixes
* removed a hard coded project name
* fixed nrt bugs
* improved NRT and .net 3.1 support
* renamed projectName to apiName, added cli option
* trying to avoid conflict
* set GenerateAssemlbyInfo to true
* created docs/scripts folder
* moved ApiTestsBase.cs to not get overwritten
* test fixes and improvements
* fixed licenseId bug, updated readme
* build samples
* export docs
* removed new language features
* added support for .net standard 2.0
* added git_push.ps1
* fixed bug in git_push.sh due to the new directory, prompting user for commit message
* moved documentation folders
* fixed bug when apiKey in query
* bug fix
* fix base class and back-ticks
* back-ticks in key word fix
* back-ticks fix in kotlin keywords
* samples
* remove EOL
Co-authored-by: ags039 <ags039@motorolasolutions.com>
* added support for independent test-folder
* generate updated docs
* generate updated docs
* generate updated docs
* trigger a new CI builds
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Add micronaut server implementation
* Add micronaut server tests and imporovements
* Generate samples, docs and verify that tests pass
* Update micronaut docs and samples after merging with master
* Update micronaut dev server samples
* Add micronuat server docs
* Update micronaut version
* Minor changes to micronaut server and client
* Fix documentation generation in samples
Co-authored-by: Andriy Dmytruk <andriy.dmytruk@andriy.dmytruk.ca.oracle.com>
* Installs python3.9 in node3
* Moves python clients into separate node so they can use a docker image
* Installs java and maven into docker
* Switches off some python tests
* Support Helidon MP server using Helidon 2.4.1
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
* Add unrelated changed sample file(s) after rebase
* Updated generated samples file after rebasing again
* Remove incorrectly 'git add'ed generated file
* Revert "Revert "Has generators set default template engine (#11245)" (#11316)"
This reverts commit 57987424a4.
* Only loads in the default template engine if the config file contains the generatorName
* Only sets templatingEngineName using condif default in one place
* Adds config files that lack generatorName
* Revert "Adds config files that lack generatorName"
This reverts commit 7dafc93c0f.
* Adds generator default templating engine to the generator metadata
* add default auth
* private
* default when optional params and fix types
* build samples
* remove extra space
* re-add space before default empty
* switch to default authentication method support in config
* generated samples
* null check chaining
* generate samples
* remove extra spaces
* regen samples
* formatting fixes
* more samples
* remove from abstract methods
* samples
* add default to inversify as well
* samples again
* exclude inversify
* samples once more
* samples
* Implement DocumentationProviderFeatures and integrate it in AbstractJavaCodegen
* Integrate DocumentationProviderFeatures in SpringCodegen
* Run new test config spring-boot-springdoc
* Do not use Locale.ROOT
* Do not use Locale.ROOT, use NONE instead of empty list
* Revert "Do not use Locale.ROOT"
This reverts commit a0d6aac92b.
* Do not use forbidden APIs
* Fix spring maven plugin example
* Introduce DocumentationProviderFeaturesTest.java
* replace AUTO with preferredAnnotationLibrary
* remove sout.println from Test
* Apply code style.
* Update spring sample configuration to use the new property
* Update samples after merge
* fix atBean import
* Generate all samples
* Add ParameterObject to test
* Allow Subclasses to opt out
* Use OpenAPI 2 (fka Swagger RESTful API Documentation Specification) instead of just "Swagger"
* export generator docs
* Fix typo
* Fix typo - update docs.
* [go] use regular stdlib import names
* [go] support primitive oneOf types
See #8489
* [go] improve pbv/pbr handling
Improves the way pass-by-value and pass-by-reference variables are used.
Closes#8489
* [go] improve generated documentation
* [go] adopt pointer changes in interface
* [go] regenerate sample
* [go] resolve pointer issues
* [go] regenerate clients and avoid pointers on primitive return values
* [go] improve Exec() return value handling
* [go] regernate files
* [go] use go modules
* [go] properly handle polymorph decode
If polymorphism without discriminator was used, the previous code was unable to properly decode the vaules. By using a strict decoder, which rejects unknown fields, type guessing now works.
* [go] make GetActualInstance not panic on nil
* [go] return GenericOpenAPIError as pointer
* [go] clarify helper function godoc
* [go] address test regression error type
* [go] regenerate go samples
* [go] resolve go mod issues and test regressions
* [go] resolve merge conflicts and regenerate
* [go] resolve merge conflicts
* [go] Replace spaces with tabs
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
* [go] Replace spaces with tabs
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
* * Use Relative Imports for org.springframework.core.io.Resource
* api.mustache: Add operationId to atOperation annotation
* Overhaul atSchema annotation in model
* Add spring-stubs-oas3.yaml test config
* Optimize mustache templates
* Use Relative Imports for DateTimeFormat, Pageable and ApiIgnore
* Add spring-stubs-oas3.yaml test config
* Generate all samples
* Explain fromOperation override to support more logic-less templates.
* Support RootUriTemplateHandler from spring-boot
* Revert "Support RootUriTemplateHandler from spring-boot"
This reverts commit 1915f8b19e.
* Evaluate additional property useSpringfox as Boolean
* Generate all samples after merge (java-camel)
* Fix typo
* Move java-camel test deom samples.circleci.spring to samples.circleci profile.
* re-generate all samples after merge
* Generate samples and docs after merge
* Generate samples after merge conflicts resolved
* remove import mapping logic in model generation, better handle of file, list
* add new files for file, list
* fix some tests
* update tests, doc
* skip file as reserved word in feign client
* add new files
* remove file from reserved word list in spring generator
* Default TypeScript fetch configuration to 3.6+ true, as it's been out for a while now
* TypeScript fetch update the three plus CLI option default to true
* Apply doc generator patch
* Build the project and update samples
* remove VERSION
* test ts fetch clients first
* Revert "test ts fetch clients first"
This reverts commit 590a7f2d30.
Co-authored-by: szTheory <szTheory@users.noreply.github.com>
* Turns python-legacy CI back on in circle, fixes python-legacy test
* Installs python 2.7 into circleci node 3
* Python 2.7 version changed to 2.7
* Switches back to py2714
* [Java][Native] Fix the Content-Type and Accept headers that were forced to application/json
* Update the generated samples after fixing issue no. 6779
* [Python] Allow the user to pass in any headers per request
* Update docs
* Update docs
Update Docs _headers
* Add test
Co-authored-by: Rizwan Saeed <rizwan.saeed@finbourne.com>
* Created Apache Camel language
* Added unit test
* Fix template dir
* Fix description api
* Camel Dataformat Properties
* Apache Camel Doc
* Apache Camel Doc
* Apache Camel Doc
* Apache Camel maven plugin example
* Fix LOGGER
* Samples
* Camel 3.14
* Samples
* samples
* up to date
* Rename camel to java-camel
* up to date
* Fix SerializedName in modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache
* [BUG][csharp-netcore] Fix Multi Files for the some FormField (#11132)
Make FileParamerts a Multimap to enable sending more than one file with the same key.
* update documentation for csharp-netcore
* Adds generatorLanguageVersion and uses it in python generators
* Regenerates docs
* Adds stability to generator docs
* Triple braces generatorLanguageVersion
* Regenerates samples
* Fixes the python-experimental setup.py file so it works with generatorLanguageVersion
* Updates generators readme
* Refactors generator md creation, adds generateMdMetadata
* Removes extra space
* Adds docs updates
* Fixes table definition for metadata
* Docs update
* Docs update
* Updates title, removes sidebar_label because it was not doing anything on pages like https://openapi-generator.tech/docs/generators/android
* Docs updated
* Fix extra m that prevents qt cpp server to build (#11176)
* Fix regular expression to capture IDs on path (#11176)
* Fix build issue missing QHttpEngine namespace (#10706)
* fixing precision for php
* remove a bracket
* handling whitespace
* format comment
* Use regexp to trim needless microseconds
That way we can save timezone suffix.
Co-authored-by: Carmen Quan <cquan@launchdarkly.com>
* Add support for asynchronous API for JavaJaxRsSpec
https://github.com/OpenAPITools/openapi-generator/issues/4832
* Ran the requested command for a PR
Run the following to build the project and update samples:
./mvnw clean package
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
* Set java 8 mode when using supportAsync=true
`CompletionStage` are only introduced since 1.8, enabling async should for use java8
Co-authored-by: Thomas Bredzinski <thomas.bredzinski@gemalto.com>
* fix: Make dart2 generated code compilable
* Update dart2 client samples
* Re-add deleted test files
* Lower dart version to 2.12
* Make username and pass not null in http basic auth
* Delete json_serializable
* Make growable false by default
* Make value not nullable
* Remove redundant null check
* Revert linter fix
* Provide required username and pass
* Revert initial abstractDartCodeGen changes
* Revert removing dart pom module
* Revert removing dart pom module
* Lower minimum dart version to 2.12
* Disable dart2 tests generation
* Disable petstore_client_lib
* Disable samples/openapi3/client/petstore/dart2/petstore
* Re-add dart2 tests
* Add new tests
* Delete empty directory
* api_client.mustacheUpdate
added optional HttpBearerAuth so you can add the token directly on the ApiClient
* Update api_client.dart
auto generated files for build
* Update api_client.dart
Autogenerated files for buiild
* Make mapDateTime nullable and add ! after json mapping
* Fix warning on Future<?>
* Fix warning on Future<?>
* Dont insert unused param to constructor
* Modified Dart2 Mustache template.
* Regenerated Petstore source code.
* Remove extra code to sync with agilob's pr.
* Regenerated Petstore source code.
* Fix a couple of reported bugs.
* Regenerated Petstore source code.
* Make properties non-nullable.
* Regenerated Petstore source code.
* Do not trim user input before submitting.
* Regenerate Petstore source code.
* Regenerate Petstore source code.
Co-authored-by: Kate Döen <kate@stack11.io>
Co-authored-by: Artur Powroznik <arturp@backbase.com>
Co-authored-by: devjakobsen <94956607+devjakobsen@users.noreply.github.com>
Co-authored-by: Noor Dawod <noor@fine47.com>
* Oas3: Remove swagger2 ApiModel and ApiModelProperty from imports when oas3 is true.
* Oas3: Use either swagger v2 or v3; add test config
* Oas3: allowableValues and defaultValues belong to the Schema annotation
* Oas3: use swagger-core.version property in all pom.xml
* gh-11165 remove io.swagger.v3.oas.annotations.parameters.RequestBody
* gh-11168 add import for io.swagger.v3.oas.annotations.Hidden
* Fix formParams.mustache, add dedicated test scripts for the spring generator using oas3.
* Run ./bin/generate-samples.sh
* Run ./bin/generate-samples.sh - new samples
* fix indentation
* Revert to threetenbp 2.9.10 because customInstantDeserializer.mustache is not compatible with threetenbp > 2.9.10.
* apiController.mustache: pull in osa3 imports.
* apiDelegate.mustache: remove io.swagger.annotations.* import
* Remove Hidden (import and usage). Wrap atApiIgnore with useSpringfox.
* fully qualify org.springframework.data.domain.Pageable because endorExtensions.x-spring-paginated is not set during import processing.
* align spring-cloud and spring-boot pom.mustache regarding springfox and oas versions.
* introduce dateTimeParam.mustache
* Apply DateTimeFormat consistently across different parameter types
* revert to springfox 2.9.2
* add newline after parameter
* fix atSchema annotation (use empty description)
* add more spring-*-oas3 test configs
* Update bin/config/spring* test samples
* Fix implicitHeader.mustache - add import, generate use paramDoc.
* rename spring-boot-implicitHeaders-oal3.yaml to spring-boot-implicitHeaders-oas3.yaml
* Add spring oas3 configs to samples.circleci profiles module list
* Use groupId 'org.openapitools.openapi3' for oas3 configs
* Run all spring test configs.
* In OAS3, allowableValues is a String[] array.
* formParams.mustache: Align spacing and newlines with other param templates
* Support @Parameter(hidden = true) instead of ApiIgnore, Formatting: One parameter per line.
* Format method level annotations in api.mustache
* Introduce samples.circleci.spring profile
* Generate all spring samples
* first commit: add cli option for saga and records. Added dummy sagas.mustache test file.
* More progress with default values. First prototype for isEntity and isUniqueId.
* record generation complete
* record generation complete
* progress with saga generation
* progress with saga generation
* first fully working saga generation
* merge with latest master
* removed unneeded "items" properties.
* moved global CodegenModel modifications into subclass ExtendedCodegenModel used exclusively by TypescriptFetchClient. Adding missing samples files.
* moved global CodegenOperation modifications into subclass ExtendedCodegenOperation used exclusively by TypescriptFetchClient.
* moved global CodegenProperty modifications into subclass ExtendedCodegenProperty used exclusively by TypescriptFetchClient.
* moved global CodegenParameter modifications into subclass ExtendedCodegenParameter used exclusively by TypescriptFetchClient.
* added the missing "allSagas" export.
* renamed & reworked "meta data response" flags to a more useful general concept of "operation return passthrough"
* added vendor flag keepAsJSObject as escape hatch to support circular dependencies in models and other special cases. Also fixed issues with default values for some records properties.
* added autodetection for passthrough to simplify standardised specs.
* fix small issue with passthrough void
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* Added "reservedRecordField" feature to support remapping fields names that cannot be used in Records. Added missing export to record: toApi().
* added uniqueId inference. Fix small generation when uniqueId property is an array.
* removed feature "reservedRecordField" and replaced it with existing built-in "reserved words" feature. Fix minor issues with typings in generated files.
* Changed api recType names to make them less likely to cause name conflicts. Added generated ApiEntities (record, reducer & selector) files.
* Moved location of ApiEntities related files and fix issues with exports.
* - merge latest master
- renamed fake test apis to better fit the "pet theme"
- added mode for "SourceOnlyLibrary" (same as used in codegen typescript jquery)
* - missing ganarate sampless
* - Modified way to export apiEntitiesSelectpr to reduce typescript analysis time for consuming project. Removed tab characters in mustache files. Reformat code for TypeScriptFetchClientCodegen to try to remove false positive for tabs vs spaces.
* - added markErrorsAsHandled property to api sagas. Increased typescript version to address some typing errors on library build.
* - fix bug in saga interfaces. Upgraded to typescript "strict" mode to ensure proper typechecking info is generated.
* - added optional id for apiEntity selectors. Added toInlined() support to convert an entity to an inlined model recursively.
* - minor tweak for apiEntitySelector to accept null id
* - minor tweak for apiEntitySelector
* - runned ensure up to date.
* Revert "- runned ensure up to date."
This reverts commit ea9b4aed
* - runned ensure up to date.
* - runned ensure up to date.
* - added more enhancements: New "toInlined" functionality. Support for more complex double array types. apiBaseConfiguration is not sent completely for Api.init().
* - merge master
* - fix generated api bug in some cases for typescript fetch when no request params are present.
* - commented broken tests
* - fix generate samples analysis.
* - work in progress for playframework swagger upgrade
* - first working output for playframework with oauth support for access code flow.
* update surefire to newer version
* added new sample project "...playframework-with-security.yaml" and improved tab in generated output for controllerImp files.
* split SecurityAPIUtil into more granular and useful functions.
* minor fix to have tab instead of spaces in securityapiutils mustache file
* added missing generated samples.
* added missing securityAPIUtils injection in generated "Controller" classes when "useInterfaces = false"
* added missing securityAPIUtils import
* added missing securityAPIUtils import for no-interface samples files.
* minor tweak: changed order of import for securityApiUtils
* minor tweak: changed order of import for securityApiUtils
* fix: securityApiUtils was incorrectly declared with "throws Exception"
* minor code tweak.
* fix potential runtime throw in SecurityApiUtils if playframework configuration variables are not found. fix minor issue with space vs tab in mustache files. Fix compilation issues in some cases when using async mode.
* run ensure-up-to-date and generate-samples
* Revert "run ensure-up-to-date and generate-samples"
This reverts commit da4d3ac755.
Co-authored-by: Bruno Flamand <bflamand@stingray.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* feat(ISSUE-11033): add null encodable type and mustache changes
* feat(ISSUE-11033): regen all swift5 samples
* feat(ISSUE-11033): add swift5 examples of null encodable
* feat(ISSUE-11033): fix hashable and compliation issues
* fix(ISSUE-11033): fix tests by using new enum encodeValue
* fix(ISSUE-11033): fix tests by using new enum encodeValue
* fix(ISSUE-11033): revert status back in pet api test
* fix(ISSUE-11033): fix issue with objc compat generator
* feat(ISSUE-11033): restore default values to null encodables
* chore(ISSUE-11033): rename default value for null encodable
* chore(ISSUE-11033): add test cases with different nullable defaults
* Handle \SplFileObject before primitive(to avoid php8 settype() error)
* Add test case
* Add array check to fix type error
Code throws error:
array_key_exists() expects parameter 2 to be array, null given
When $httpHeaders argument is null.
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Previously, rust-client generator disregarded collectionFormat property of
multi-value parameters. Now we support following values in collectionFormat: "",
"csv", "multi".
You can review changes this creates for fairly sizable project at https://github.com/CrowdStrike/rusty-falcon/pull/33/files
* Change packages order alphabetically
* Add PHP-DI package to Composer template
* Remove ContainerInterface from APIs
User shouldn't access container directly, it's an anti-pattern.
Ref: https://php-di.org/doc/best-practices.html#rules-for-using-a-container-and-dependency-injection
* Change app templates to use PHP-DI
Application looks more like a default Slim skeleton now.
Ref: https://github.com/slimphp/Slim-Skeleton
* Rename SlimRouter to RegisterRoutes
Since it's callable class new name fits better.
* Add short documentation
* Refresh samples
* Fixed issue 11021 by changing the responseType to blob for accept headers that don't match text or json.
* Updated samples.
* Updated inline json pattern matching with an existing utility method.
* Updated samples.
* Fixed isJsonMime call.
* Updated samples.
* Fixed default response type of json when accept header is not given.
* Updated samples.
* [typescript-axios] Add new option to generate imports from 'url'
* Added new option `withImportUrl` to be used to generate the imports needed
for NodeJS support without adding DOM to TypeScript libs
* [typescript-axios] Add withImportUrl support to templates
* Generate imports from 'url' if withImportUrl is set to true
* [typescript-axios] Generate new samples using withImportUrl
* [typescript-axios] Add withImportUrl to documentation
* [typescript-axios] Regenerate docs, build was still ongoing and used old param name
* [typescript-axios] Rename withImportUrl to withNodeImports
* Rename the parameter to support other Node imports
* Add imports for form-data too if using multipartFormData
* Add fix for multipart headers when running in Node with form-data package
* Add basic jvm-volley folder to enable it as a library
* Add JVM_VOLLEY to the KotlinClientCodegen as a library option (using Retrofit2 processing for now)
* Temporary checkin of generated code and kotlinfied version for use in new template
* Added Kotlin-ified api invoker and request objects, update Kotlin client codgen for volley
* Add Android specific build.gradle mustache file to jvm-volley library
* Hardcode SDK version and build tools version in build.gradle template, add extra repository for Android Gradle build tools
* Add Android manifest to generated code
* Add Kotlin dependencies and plugins to build gradle template
* WIP: Create basic API templating for jvm-volley
* Add ApiException and parameter validation, create path variable using ApiInvoker
* Build queryParams and headerParams
* Add VolleyRequest template
* WIP: Injecting context and default API invoker into APIs (non compiling)
* Add DefaultInvoker stub and update API to inject context
* Add request queue generation to the DefaultInvoker
* Fix up compile errors in the invoker
* Cleanup unrequired templates
* Update templates
* Add constructor overloads to inject stack or network into request queue
* Fix compile errors with request queue generation
* Fix compile errors
* Al'll fix it for you.....
* WIP compile fixes
* More compile fixes
* Generate to java directory and kotlin-ify auth code
* More syntax fixes in templates
* Almost left it in a working state, fixing that .... now...
* Switch builder method based on model existence constraints - body and response
* Add coroutine logic to APIs and pass through listeners to the requests, various other fixes.
* Use reflection and type tokens to work around clazz issues on generics
* Add POST, PATCH and PUT to RequestFactory
* More templating magic
* Fix Steve, the human compiler's errors again !
* Add CLI option for generating room models
* Configure the room model package
* Add initial room model templating and generation
* Add room model generation implementation
* Implement toRoom function on models to convert model to room model
* Bug fixes, transformers to and from room models
* Add query parameters to URL generation
* Fix issues with gson type conversion, add type adapters to gson instance
* Fix issues with older API versions and Java8 libraries,
* Add request factory interface
* API template tidy up
* Update IRequestFactory to include companion object, minor tidy ups
* Remove @Keep annotations from room templates
* Rename toRoomModel and toApiModel functions
* Add empty companion object to generated room model
* Add ITransformStorage interface to allow polymorphic transforms to room models
* Add content type into GsonRequest
* Move gson serialization of request body into GsonRequest
* Update request factory to take header factories
* Remove the generated comparision code
* Move the generateRoomModels switch into the KotlinClientCodegen class
* Move room model generation out of default generator
* Updates for auth
* Finalise removal of kotlin elements from default generator
* Hoist room model logic out of abstractKotlin into kotlin client codegen
* Revert AbstractKotlinCodegen
* Revert Codegen constants to remove base generator changes out of our new library
* Revert data class template changes, add data class body check to Kotlin Client codegen
* Add sample generation yaml file for jvm-volley library
* Update JVM-Volley readme for generateRoomModels flag
* Remove unused template files, get auth compiling but non functional, clean build of warnings
* Generate sample generated code
* Add not implemented method for oauth
* Add unit test for KotlinClientCodegen generateRoomModel flag
* Remove accidental hard coding of src/main/java source folder
* Push changed generated sample files
* Move and rename IStorable inside the volley library
* Inject retry policy into API definition, re-run sample and doc scripts
* Add generic post processors
* Update samples after generator changes
* Fix some compile errors with the pet store sample
* Fix duplicate auth companion object and import generation
* Reinstate query and form parameter code generation
* Add check for unsupported serialization libraries
* Fix broken unit tests
* Regenerate samples
* AN-233 Update request factory to allow custom gsonadapters
* update `GsonRequest.mustache` and `RequestFactoy.mustache` to use `Map<Type, Any>` instead of `Map<Type, Object>` to better fit kotlin conventions
* Update readme with better examples and design notes
* Update readme with info about gson serializers and adapters for polymorphic types
* Updated samples
* Merge from upstream
* Address review comments
* Update samples
* Samples
* Update docs
* Remove DateAdapter generated file, template and it's inclusion as a supporting file in favour of localDateTime
* Review comment cleanup for initial PR #10253 - cleaner auth key in parameter string handling
* Review comment - add a kotlin version parameter to the build scripts
* Updated samples
* Missing changes from build.mustache
* Regenerate samples for build.gradle changes
* Merge from master and generate samples
* Remove serializer as a supporting file from jvm-volley - it's serialisation is not a singleton and configured differently via gson request and dependency injection
* Remove singleton serializer from jvm-volley generation as it's not used
Co-authored-by: Alister Shipman <alister.shipman@greater.com.au>
Co-authored-by: Steve Telford <steven.telford@greater.com.au>
Co-authored-by: Leigh Cooper <leigh.cooper@greater.com.au>
Co-authored-by: Michael Hewett <y2trooper@gmail.com>
* replace replaceSpecialCharacters in enum var names
* test special characters in enum var names
* ./bin/utils/export_docs_generators.sh
* bring back replacement check for whole string
* Revert "./bin/utils/export_docs_generators.sh"
This reverts commit 63dfd33dd3.
Co-authored-by: Michael Brügmann <mail@michael-bruegmann.de>
* Further K6 OpenAPI generator enhancements
* request body example data extraction
* request grouping and ordering
* response visibility
* request data extraction for chaining requests
Signed-off-by: Michael H. Siemaszko <mhs@into.software>
* Further K6 OpenAPI generator enhancements
- regenerated samples
Signed-off-by: Michael H. Siemaszko <mhs@into.software>
* Fix suggested changes by linter
* Fix extra spaces in the template
* Log exception
* Rename function signature to camelCase
* Address comments on Big-O
* Move declaration of variable near the usage
* Add config file for generating k6 script
* Regenerate k6 script
* Regenerate samples
* Fix predicate
* Fix missing import
Co-authored-by: Michael H. Siemaszko <mhs@into.software>
* Using the first serializable 'consumes' mediaType
Using all deserializable 'produces' mediaTypes
Matching json vendor types as json
* updating the generated samples
* add error body and type to api exception class
* add option to specify error object
* add option, update api doc with better error handling
* update samples
* update doc
* Adds request body of any type
* Fixes param dataType, paramName, and baseName
* Uses updateRequestBodyForPrimitiveType as the else case for anyType request bodies like the code used to do
* Samples updated
* Samples regenerated
* [swift5][client] allow request cancellation and authentication flow to work together
* [swift5][client] allow request cancellation and authentication flow to work together
* [swift5][client] rename OpenAPIRequestCancellable to RequestTask
* [swift5][client] rename OpenAPIRequestCancellable to RequestTask
* typescript-angular: taggedUnions=true: Preserve import to the parent model from the child
if the child property has a direct reference to it
* Fix javadoc
According to RFC 7235 (HTTP/1.1: Authentication), schema tokens are
handled case-insensitive (Section 2.1: Challenge and Response). This
change compares the known token values basic, bearer, and signature
case-insensitive.
- https://datatracker.ietf.org/doc/html/rfc7235#section-2.1
* add swift5 option for generating frozen enums
* use case unknownDefault to avoid conflicts
* update comments to reflect unknownDefault case
* set default values for unknown case to avoid conflict
* dont need vendor extensions to detect enum raw data type
* move CaseIterableDefaultsLast into models mustache template
* comment catch all case and add support for other types
* add frozen enums to ci pipeline
* remove extraneous edit to extensions template
* remove left over protocols files
* small comment and case adjustments
* New branch
* Added test class for functions server
* Logger should not be static
* Added csharp-netcore-functions to docs/generators
* Added csharp-netcore-functions to generators.md
* Removes sln and csproj
* add custom gson deserializer
* add check for additional fields, required fields
* add tests for custom deserializer
* add custom adapter
* add custom adapter
* register type adapter factory
* comment out custom deserializer and use adapter instead
* add okhttp-gson-nextgen
* add new files
* restore okhttp-gson
* switch to adapter
* remove custom de/serializer
* add comment
* update tests
* test nextgen in ci
* update doc
* use full model name in JSON.java
* undo changes
* add oneof discriminator support
* fix anyOf
* remove mappings
* add more tests
* fix oneof deserialization, add more tests
* add error body and type to api exception class
* JSON to use instance variables/methods
* Revert "add error body and type to api exception class"
This reverts commit 07f34e2c45.
* Adds CodegenMediaType and CodegenEncoding
* Adds partial new code to set Parameter content data
* Adds content to CodegenParameter
* Sets content for request bodies
* Adds testParameterContent
* Adds testRequestBodyContent
The [docs for ofInputStream](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodySubscribers.html#ofInputStream()) say:
> To ensure that all resources associated with the corresponding exchange are properly released the caller must ensure to either read all lines until the stream is exhausted, or call BaseStream.close() if it is unable or unwilling to do so. Calling close before exhausting the stream may cause the underlying HTTP connection to be closed and prevent it from being reused for subsequent operations.
When ObjectMapper.readValue is called with an InputStream it implicitly closes it, but when the library is not expecting a return type it's not passing the InputStream to Jackson, so the stream needs to be manually drained and closed as per the docs
Failure to do this leads to a leak of HttpClient socket handles, and ultimately the exception `java.net.BindException: Cannot assign requested address` when trying to make API calls
* Add Operation Servers to {operation}Call method
* add getter/setter methods
Add methods for hostIndex and customBaseUrl
* Fix return types for getters
* Add custom baseUrl logic
if you dont specifically declare a custom base url using the set method then it uses the 1st server in the operation host index array
if no custom url is set and the operation base path array is empty however, the call throws an exception
* Update server selection logic
First checks to see if a custom url is provided
If not, checks to see if operation level server is defined and uses the supplied host index (default 0)
If neither is supplied, uses the ApiClient default base path
* Update samples and docs
* [Protobuf-Schema] Add numbered field number list switch
* [Protobuf-Schema] Add numbered field number list switch
* [Protobuf-Schema] Added switch
* [Docs][Protobuf-Schema] Generated docs
Co-authored-by: Tomáš Čermák <cermak@merica.cz>
* Instead of limiting a request to a single file when
performing an upload, use a slice of files so an
arbitrary number of files can be used in the form.
* Remove commented out line of code
* Update examples for multi-form file fix for multiple files
* Convert spaces to tabs for indentation
* Updated examples to have tabs instead of spaces
* Add an example of a multipart/form-data OA3 schema
that contains two files to be uploaded
* try to catch NullPointerException and print error message
* handles invalid specifications when the spec file is invalid
* added comment
* added null pointer exception test
* Fix Kotlin Multiplatform Test
- Remove obsolete 'GRADLE_METADATA' Gradle preview flag from
Kotlin Multiplatform settings.gradle template file.
- Update Kotlin Version to 1.5.31
- Update coroutines, serialization and Ktor versions to the versions
recommended for usage with Kotlin 1.5.31
see https://kotlinlang.org/docs/releases.html#release-details .
Fixes https://github.com/OpenAPITools/openapi-generator/issues/10898
* Add 'clean' task to pom.mustache and reformat sample pom.xml
* Use stable 1.3.0 version of Kotlin serialization
* #10199: Extract from generated function per operation one that returns headers and other info
* add autogenerated output
* fix suspend generation
* fix return statement generation for coroutine variant
* Oauth class with reply server for authorization flow
* multiple scopes. Joined with space seperator
* some refactoring, using urls from the spec
* added implicit flow. Refactored oauth classes.
* added missing {{prefix}} to Oauth class
* added client credentials flow
* added password flow. setVariables for each class
* Refactored variables to fit style. Updated Samples
* [Java] deserialize to LinkedHashSet when unique items
* [Java] fix deserialization of readonly properties
* [Java] deserialize to LinkedHashSet when unique items
* fix(cpp-pistache-server): meson/cmake build
* fix(cpp-pistache-server): Upgrade to C++17 and use std::optional
* feat(cpp-pistache-server): Disable running tests during build of nlohmann/json
* feat(samples): Update server/petstore/cpp-pistache
* Fix breaking regression introduced by #10432
This change forgot enum structures, which causes the compiler to throw errors for "the trait `Default` is not implemented for MyEnum".
This change implements the Default trait to the enum template.
* fix: add Default for type enums
* Replace explicit <Type> with <>
* Remove redundant toString() calls on String
* Use StandardCharsets.UTF_8 instead "UTF-8" string
* Simpler annotation format and redundant this
* Dont concat on empty String, use String.valueOf()
* Dont run equals on empty String
* Use string.anyMatch instead counting
* Collection add all instead iterating and adding
* Replace string contact with append chain in stringBuilders
* int get generated as long
* test revised
* moved network logic to abstract service
* New service hooks in services
* bourne version
* remove comment from cert
* sendRequest remove direct link to http request
* Network logic into AbstractService
* Rename AbstractService to Service
* add query params
* Remove unused comment
* Change files in openapi
* amazon root CA 1 default ssl certificate
* rename service
* duplicate line
* Set todo
* lint whitespace fix
* uncomment array querey paramns
* Form params in service body
* this is nice
* added form params
* remove random mustache variable
* change form map to list, as it would overwrite if there was duplicates
* maven build and doc gen
* change isBodyAllowed to return true
for delete method
Add method
isMethodPutOrPatchOrPost
* change templates to use isMethodPutOrPatchOrPost
to be compatible with previous versions,
lubrary mainterners should decide
if want to use isBodyAllowed
* since angular 12.1 delete with body is supported
Change angular typescript to support delete with body if
angular version is >= 12.1
update default ngVersion to be latest
12.2.12
* generate samples and docs
* ApiClient was OK
revert my changes
* Resolve#9774
- Add in `oas3` option for Spring codegen to use newer annotations
- Add `useSpringController` option for Spring codegen
- Use `useSpringfox` to fix some unwanted imports for Spring codegen
- Use `jdk8` to add OffsetDateTime import for models in Spring codegen
- Add `JsonValue` to `enumOuterClass.mustache` to allow enums to be
generated properly
* Update spring examples
* Update with a clean maven install and regenerate samples
* Remove newling at end of param files and regenerate samples
* Update codegen with merge from master
* Update tests and samples
* Remove #vendorParams from API
* Update generated and tests
* Get closer to master
* Remove SpringFox setter boolean
- Annotation was altered to be fully qualified, doesn't need import
removed anymore
* Update examples and tests
* FIx pojo.mustache (missed update to master) and regenerate tests
* Fix pojo.mustache extra `(`
* Update tests and documentation
* Update models and documentation
* Handle boolean property correctly
- Use `convertPropertyToBoolean` and `writePropertyBack`
* Fix more @ApiParam usage with @Parameter
- Also replace allowableValues with @Scheme(allowableValues =
`
* Update samples
* Update maven `pom.xml` mustache to use OAS3 annotations
* FIx typo in variable name
* Write back `useSpringfox` property
* Does not recognize the type "ByteArray" as "String"
* Change in default codegen
* Removes redundant updateRequestBodyForString
* Adds testByteArrayTypeInSchemas
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Make Java libraries compatible with Gradle 7
* Make kotlin-spring compatible with Gradle 7
* Update samples to comply to Gradle 7.2
* Generate samples
* fix: [kotlin-spring] wrong filenames for generated controller classes (#10670)
* fix: [kotlin-spring] wrong filenames for generated controller classes (#10670)
Updated unit test with correct filenames
* fix: [kotlin-spring] wrong filenames for generated controller classes (#10670)
Including files generated by generate-samples.sh and export_docs_generators.sh
Co-authored-by: Martin Saison <khodev@users.noreply.github.com>
* Adds getter and setter for hasMultipleTypes and implements it in CodegenModel
* Adds getter and setter to CodegenProperty
* Updates CodegenParameter
* Updates CodegenResponse
* Samples regenerated
* first commit: add cli option for saga and records. Added dummy sagas.mustache test file.
* More progress with default values. First prototype for isEntity and isUniqueId.
* record generation complete
* record generation complete
* progress with saga generation
* progress with saga generation
* first fully working saga generation
* merge with latest master
* removed unneeded "items" properties.
* moved global CodegenModel modifications into subclass ExtendedCodegenModel used exclusively by TypescriptFetchClient. Adding missing samples files.
* moved global CodegenOperation modifications into subclass ExtendedCodegenOperation used exclusively by TypescriptFetchClient.
* moved global CodegenProperty modifications into subclass ExtendedCodegenProperty used exclusively by TypescriptFetchClient.
* moved global CodegenParameter modifications into subclass ExtendedCodegenParameter used exclusively by TypescriptFetchClient.
* added the missing "allSagas" export.
* renamed & reworked "meta data response" flags to a more useful general concept of "operation return passthrough"
* added vendor flag keepAsJSObject as escape hatch to support circular dependencies in models and other special cases. Also fixed issues with default values for some records properties.
* added autodetection for passthrough to simplify standardised specs.
* fix small issue with passthrough void
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* Added "reservedRecordField" feature to support remapping fields names that cannot be used in Records. Added missing export to record: toApi().
* added uniqueId inference. Fix small generation when uniqueId property is an array.
* removed feature "reservedRecordField" and replaced it with existing built-in "reserved words" feature. Fix minor issues with typings in generated files.
* Changed api recType names to make them less likely to cause name conflicts. Added generated ApiEntities (record, reducer & selector) files.
* Moved location of ApiEntities related files and fix issues with exports.
* - merge latest master
- renamed fake test apis to better fit the "pet theme"
- added mode for "SourceOnlyLibrary" (same as used in codegen typescript jquery)
* - missing ganarate sampless
* - Modified way to export apiEntitiesSelectpr to reduce typescript analysis time for consuming project. Removed tab characters in mustache files. Reformat code for TypeScriptFetchClientCodegen to try to remove false positive for tabs vs spaces.
* - added markErrorsAsHandled property to api sagas. Increased typescript version to address some typing errors on library build.
* - fix bug in saga interfaces. Upgraded to typescript "strict" mode to ensure proper typechecking info is generated.
* - added optional id for apiEntity selectors. Added toInlined() support to convert an entity to an inlined model recursively.
* - minor tweak for apiEntitySelector to accept null id
* - minor tweak for apiEntitySelector
* - runned ensure up to date.
* Revert "- runned ensure up to date."
This reverts commit ea9b4aed
* - runned ensure up to date.
* - runned ensure up to date.
* - added more enhancements: New "toInlined" functionality. Support for more complex double array types. apiBaseConfiguration is not sent completely for Api.init().
* - merge master
* - fix generated api bug in some cases for typescript fetch when no request params are present.
* - commented broken tests
* - fix generate samples analysis.
* update surefire to newer version
* - un-commenting test files with issues.
* factored similar utility functions in ExtendedCodegenProperty and ExtendedCodegenParameter.
Co-authored-by: Bruno Flamand <bflamand@stingray.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Adds ComposedSchema and the ability to set it in CodegenModel and CodegenProperty
* Adds ComposedSchemas class and adds getters and setters for it in schema implementors
* Adds and uses getComposedSchemas
* Makes method private
* Uses setComposedSchemas for CodegenParameter and CodegenResponse
* Samples regeneratoed, tweaked string representation
* Removes null default
* Removes anyOfProps, oneOfProps, allOfProps
* Removes unneeded line
* add no_proxy support to python client
* add unittest for no_proxy supporting, python client
* update samples for no_proxy supporting, python client
* fix input parameter in samples/openapi3/.../tests_manual/test_extra_pool_config_options.py
* re-implement no_proxy support to python client according to PR conversation #10648
* re-update samples for no_proxy supporting, python client
* Fix some issues in crystal client templates using google drive v3 oas3 api spec
* update crystal petstore sample code
* Address PR comments
Raises on unsupported feature
clean up extra new lines in partial_model_enum_class.mustache
* Use size instead of length
length is undefined for String or Array
* Fix typo
* Use default value instead of nil
* remove unused template file
* Use ::File instead of File as file type to avoid conflicts
The spec could also have a File model
* support file upload in multipart/form-data post body
* Revert breaking changes in api template
* Use double quotes to quote string values
single quotes are used for single char in crystal
* Update api_client to use global ::File and update petstore samples
* JSON Annotation Field key's value should be double quoted
* Handle nil values for form_params
* Remove default values from method definitions due to grammar error
* Fix integration tests
* [typescript-axios] Update Axios to 0.23.0
BREAKING CHANGE: Axios 0.23.0 has a breaking TypeScript defintion change
which is incompatible with older versions of Axios.
* [typescript-axios] Update samples
* [typescript-axios] Use default binding for config to support older versions
With 2 generics arguments and leaving the AxiosRequestConfig arguments to it's
default the generated code can work both with 0.23.0 and older versions
* Add .circleci/config.yml
* Add Http status to the feign response wrapper
* Add Http status to the feign response wrapper
* Add Http status to the feign response wrapper
Fix typo
* Add Http status to the feign response wrapper
Fix typo
* Rename HttpResponse to ApiResponse
Compilation fails in generated typescript-angular client when an
`apiKey` is passed in query due to an uninitialised variable.
This change adds `getHasQueryParamsOrAuth()` to reflect if there's at
least one query parameter or passing API keys in query in the
`hasQueryParamsOrAuth` template variable.
* Update Kotlin Version to 1.6.0-M1
Update Multiplatform Plugin to 1.6.0-M1
Update Gragle to 7.2
Update AGP to 7.0.2
Update samples accordingle
Resolve: https://github.com/OpenAPITools/openapi-generator/issues/10467
* Removes local.properties from kotlin-multiplatform petstore client, that was accidentally added
* Use the latest kotlin stable version 1.5.31
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* first check import mappings before defaulting to model import
* respect primitive types when generating serializes, these can still be models if passed via generator args
* BUG FIX: A missing semicolon in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Revert "Fix a bug in cpprest-sdk generator (Issue #8450)"
This reverts commit 7d8f842860.
* Fix a bug in cpprest-sdk generator (Issue #8450)
* A new overloaded version of parameterToString method is added to the ApiClient class (mustache file) of cpp-rest-sdk-client generator. This new overload accepts bool value and is added to serialize bool values as boolapha instead of integer representation.
* A new overloaded version of parameterToString method is added to the ApiClient class (mustache file) of cpp-rest-sdk-client generator. This new overload accepts bool value and is added to serialize bool values as boolapha instead of integer representation.
* Improve templates for C++ Restbed
The templates now generate classes which have virtual functions that can
be overridden to implement handlers.
* Fix missing HTTP methods in generated restbed C++ code
There was a wrong handling of "x-codegen-other-methods".
Change-Id: If6526d2672434beb5ebb0871d84cb80d84c34c38
* added allowDefaultValue flag for conditionSerialization
* update doc
* club the allowDefaultValue flag with ConditionSerialzation.
* fixed the tabs space.
* fixed the tabs space.
* fixed the tabs space.
* update samples, docs
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Add .circleci/config.yml
* Add the property exposeResponseHeaders to feign client
This new property indicates if the feign client should expose the response headers on the API class.
* Generate new docs for exposeResponseHeaders additional property
* Rename HeaderAwareResponse to HttpResponse
* Update samples
* Refactor the implementation to use the same approach as the c# generator.
Creates a new feign operation with the suffix WithHttpInfo, this operation returns the response encapsulated in a HttpResponse class.
The HttpResponse class contains the decoded body and the response headers
* Refactor the implementation to use the same approach as the c# generator.
Generate samples
* Refactor the implementation to use the same approach as the c# generator.
Generate docs
* Use Void instead of void for HttpResponse parameterized type
* Update users.yml
Elastic Email is using OpenAPI Generator for it's client libraries
* Elastic Email logo
Co-authored-by: radzaw <radoslaw.zawartko@elasticemail.com>
To avoid this warnings while running rspecs
```
WARNING: `Faraday::Connection#basic_auth` is deprecated; it will be removed in version 2.0.
While initializing your connection, use `#request(:basic_auth, ...)` instead.
See https://lostisland.github.io/faraday/middleware/authentication for more usage info.
```
* update surefire to newer version
* more fixes
* update pet.proto
* update model protobuf template
* add charset
* set line separator
* set proper line break in proto test
* minor fix
* use UTF-8
* use FileUtils.contentEquals
* remove line break
* remove line breaks
* revert utf-8 change
* [dart-dio] Adds an option for using the dio_http package
Relates to #10305
* [dart-dio-next] Generates new dio_http sample
* [dart-dio-next] renames dio_http sample, adds pom.xml
* [dart-dio-next] Removes executions not required
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5 for sbt
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5 for gradle
* Commit samples files after the execution of the command
"generate-samples.sh for configs java and kotlin
* Delete org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec
from the exclusion section of org.jboss.resteasy:resteasy-client in the
resteasy module because jboss-annotations-api_1.2_spec isn't a
transitive dependency
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for maven
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for gradle
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for sbt
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.ws.rs:javax.ws.rs-api to
jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.json.bind:javax.json.bind-api to
jakarta.json.bind:jakarta.json.bind-api:1.0.2 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.json:javax.json-api to jakarta.json:jakarta.json-api:1.1.6
for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.xml.bind:jaxb-api to
jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.el:el-api to jakarta.el:jakarta.el-api:3.0.3 for maven
* Migrate javax.servlet:servlet-api to
jakarta.servlet:jakarta.servlet-api:4.0.4 for maven
* Delete the property servlet-api-version in pom files because it is
useless
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.activation:activation to
jakarta.activation:jakarta.activation-api:1.2.2 for maven
* Delete javax.activation:activation from the exclusion section of
org.jboss.resteasy:resteasy-client in the resteasy module because
javax.activation:activation isn't a transitive dependency
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Fix the name of property jakarta.activation-version
* Fix a missing property 'jakarta-annotation-version' in
JavaJaxRS/resteasy/pom.mustache
* generate samples
* Fix version value of jakarta.validation-api artifact in
Java/libraries/rest-assured/pom.mustache
* Fix missing property jakarta-annotation-version in
jaxrs-resteasy/eap/pom.mustache
* generate samples
* Revert changes in sample files after running the command
generate-samples.sh in gitBash
* Fix files in
samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8
* Replace the old dependency javax.validation:validation-api by the new
Jakarta EE 8 jakarta.validation:jakarta.validation-api in
openapi-generator-online
Co-authored-by: rpruvost <rpruvost@ITEM-S78402.emea.msad.sopra>
Co-authored-by: rpruvost <romain.pruvost@soprasteria.com>
* Optimize: replace keySet + N get calls with entrySet saving N calls to get method in a few places
* missed one performance optimization
* Rolling back a change that was dependent on Java 11
* fix: axios query params from options
Remove passing query params from options to setSearchParams. Options
were already passed to Axios in full so this removes some duplicate
logic. Axios does merge query params given in path and through params
option so no change in outcome.
* chore: generate samples
* fix: typescript-axios property names
Disables MODEL_PROPERTY_NAMING for typescript-axios generator as this
was never supported (templates have no mapping between original property
names and formatted names). Wraps all properties in model interfaces
with '' to support most characters except ' for now. Also fixes missing
options typing that was any before.
* chore: add new sample, generate samples
* chore: update generator docs
Added our company (Aqovia) as well as our spin-out (NeuerEnergy) and client (Interxion) all of whom are using the OpenAPI-generator as part of build toolchains.
* fix: add default value, if present, for model properties (closes#10261)
* update samples
* fix: set default to null to allow #defaultValue to work in templates
* fix: escape the string default value, leverage super rather than copy-pasta
* update samples again
Thanks for fixing the issue with the non-templatized package name in the install instructions. I'm submitting this slight improvement to
- instruct the user to name the folder after the packageName
- set the path to that new folder name
* Adds get/setIsString interface to IJsonSchemaValidationProperties
* Adds get/set isNumber interface in IJsonSchemaValidationProperties
* Adds get/set isAnyType in IJsonSchemaValidationProperties
* Adds and uses ModelUtils.isAnyType, adds setTypeProperties
* Adds missing descriptions of isAnyType parameters
* Uses ModelUtils.isAnyType
* Samples regenerated
* Moves isArray handling higher up in fromProperty
* Moves isAnyTypeSchema handling higher up in fromProperty
* Moves isFreeFormObject handling higher up in fromProperty
* Refactors fromProperties, updates tests
* Fixes the fromProperty refactor, tests now pass
* Uses setTypeProperties to set isNumber, isNull, isArray, and isUnboundedInteger
* Sets isAnyType in setTypeProperties
* Sets isMap in setTypeProperties
* Sets property.isPrimitiveType in isFreeFormObject, tweaks if condition order
* Adds fix for JavaClientCodegenTest.testJdkHttpClientWithAndWithoutDiscriminator
* Refactors fromProperty
* Adds updatePropertyForObject updatePropertyForAnyType
* Sets binary and file types to not be strings
* Updates samples
* Adds updatePropertyForString
* Adds testComposedPropertyTypes
* Fixes python test
* Samples updated
* Switches all isAnyTypeSchema usages to ModelUtils.isAnyType
* Refactors model enum handling higher up
* Moves m.dataType assignent higher into fromModel
* Moves m.isNullable setting higher into isModel
* Adds updateModelForComposedSchema
* Further fromModel refactoring, all schema checks are now at the same indentation level
* Further refactors fromModel, adds isTypeObjectSchema block
* Moves addVars into anyType or objectType blocks in fromModel
* Turns off isNullable n isAnyType array
* Fixes typescript CodegenParameers
* Adds updatePropertyForAnyType to typescript-axios so property.isNullable will be false for AnyType
* Adds testComposedModelTypes
* Updates ComposedAnyType schema
* Fixes tests for JavaJAXRSCXF by adding updateModelForObject method
* Updates go and csharp to handle object model differently
* Adds updateModelForAnyType
* Fixes name reference
* Adds testComposedResponseTypes
* Refactoring fromResponse
* Further refactoring of fromResponse
* Uses setTypeProperties in fromResponse
* Tests now pass for testComposedResponseTypes
* Sets COdegenResponse dataType using getTypeDeclaration
* Begins refactoring of fromRequestBody
* Adds updateResponseBodyForPrimitiveType
* Adds all needed type if else blocks in fromRequestBody
* Fixes JavaJAXRSCXFExtServerCodegenTests
* Fixes RubyClientCodegenTests
* Adds fixes for clients that need custom isMap for body parameters
* Ruby broken, samples regened, debugging
* Adds updateRequestBodyForArray, renames updateRequest.. methods
* Samples regenerated
* Removes changes from Ruby generator
* Reverts RubyClientCodegen.java
* Reverts changes to GoClientCodegen.java
* Reverts PowerShellClientCodegen.java
* Reverts CrystalClientCodegen.java
* Removes updateRequestBodyForObject from JavaCXFServerCodegen.java
* Adds comment about refed models
* Tweaks made to fromProperties to add an explanatory comment
* Updates RustServer to have ByteArray request bodies not be strings
* Sets types in fromFormProperty
* Adds testComposedRequestBodyTypes
* Fixes when validation syncing is done in syncValidationProperties
* Removes redundant validation code from fromParameter
* Moves parameter inX setting higher up before schema logic in fromParameter
* More refactoring in fromParameter, uses early return to reduce levels of indentation
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForArray
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForObject
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForPrimitiveType
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForMap
* Removes setParameterBooleanFlagWithCodegenProperty from addBodyModelSchema
* Removes setParameterBooleanFlagWithCodegenProperty from fromFormProperty
* Refactors parameter array handling code into fromFormProperty
* Simplifies fromRequestBodyToFormParameters
* Removes setParameterBooleanFlagWithCodegenProperty from fromParameter
* Adds deprecated docstring to setParameterBooleanFlagWithCodegenProperty
* Refactors ModelUtils.isFileSchema out of string schema check
* Removes ModelUtils.isFileSchema from RustServer updateRequestBodyForString
* Improves comment text
* Fixes RustServer uuid type setting for CodegenParameter
* Removes unneeded parens
* Fixes array property examples
* Removes unused code
* Renames variable to itemsProperty
* Adds testComposedRequestQueryParamTypes
* Adds updatePropertyForAnyType to rustserver will not have changed model properties
* Hoists arrayInnerProperty._enum into parameter for html2 generator
* Moves turning string type off into the codegen files
* Adds two more missing locations in rustserver
* Moves addVarsRequiredVarsAdditionalProps into anytype and objecttype handling
* More refactoring of where addVarsRequiredVarsAdditionalProps is used
* Samples regenerated
* Clean up tests
* Change pets to async-await
* Use different pets for each test
* Workaround multiple petstore server instances
* Add test for unknown error response code
* Remove call duplication
Running the petstore server locally fixes all issues.
* Make body of unexpected error responses available
* Regenerate all consolidated typescript samples
* Remove json heuristic for unknown error responses
In the case where we are making empty posts, use -d '' to force curl to
set the Content-Length header to 0. Some backends (among which Microsoft
Kestrel) are sensitive about POST without a Content-Length set.
* docs(rust,client): link from parameter structs to operation methods
* docs(rust,client): move "more information" text up
This prevents the "more information" text from flowing into the previous
bullet point.
* docs(rust,client): use code formatting for generatorClass
* docs(rust,client): use packageName variable for Cargo.toml dependencies example
* chore(rust,client): capture sample updates
* feat(rust,client): derive Default for model & api structs
This makes operations with many parameters easier to work with.
* chore(rust,client): capture sample changes: derive Default
* fix(rust,client): keep default reqwest features with supportAsync
This avoids disabling TLS support entirely.
* chore(rust,client): capture sample changes
This avoids disabling TLS support entirely.
* fix!: accept should not force application JSON
Generated code offen provides range of accept methods.
This method improperly takes JSON as preferred
Example:
localVarHTTPHeaderAccepts := []string{"application/zip", "application/json"}
* chore: generated changes
* add handling of array of oneOfs
* handle res model-type lowercase name +shorten code
* remove unnecessary vendor-extension model enum
* handle openapi lowercase schema name for array res
* change xs:anytype to string for file responses
* update checkstyles
* remove not needed imports again
* update samples
* upper/lowercase use local getdefault
* update samples again
* fix(rust,client): use local_var prefix for configuration
This avoids conflicting with params named "configuration".
* chore(rust,client): capture updated samples
* Updated template so that generated code now renders docstrings and function parameters nicely in IDE.
Endpoints are still accessible in generated code, mainly to satisfy some test cases.
* fixed manual tests
* Bump jimschubert/query-tag-action from 1 to 2
Bumps [jimschubert/query-tag-action](https://github.com/jimschubert/query-tag-action) from 1 to 2.
- [Release notes](https://github.com/jimschubert/query-tag-action/releases)
- [Commits](https://github.com/jimschubert/query-tag-action/compare/v1...v2)
Signed-off-by: dependabot[bot] <support@github.com>
* Updated Dart2 template to fix linting errors when using recommended rules.
* Updated Petstore code.
* Revert to having no EOF marker at end of few files.
* Fix a call on null value.
* Updated Petstore code.
* Add more checks for nulls.
* Updated Petstore code.
* Updated Petstore code.
* Revert back decoding an enum value.
* Revert back decoding an enum value.
* Updated Petstore code.
* Revert to older version of _convertParametersForCollectionFormat method.
* Updated Petstore code.
* Updated template and Petstore files.
* Adjust doc for analysis_options file.
* Updated Petstore sources.
* Shorten command to replace path parameters.
* Updated Petstore code.
* Add a space for readability.
* Adjust template per feedback.
* Remove unneeded break statements.
* Updated Petstore code.
* Keep a new line character when replacing parameter names (like before).
* Remove string interpolation.
* Updated Petstore code.
* Remove commented code.
* Regenerate Petstore code.
* Regenerated Petstore code.
* Use another parameter name to stop variable shadowing.
* Regenerated Petstore code.
* Put description adjacent to the class.
* Add another global ignore for all files: constant_identifier_names
* Use const for contentTypes and authNames.
* Regenerate Petstore code.
* Use shorter code to check for an empty array.
* Regenerate Petstore code.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test python in node3
* install python3
* install python 3.6
* use pyenv
* run with 3.5.2
* install py 3.8.9
* fix folder name
* install via pyenv
* list pyenv
* install 3.6.3
* rearrange test
* Revert "rearrange test"
This reverts commit 1b075ed97c.
* only test py3
* BUG FIX: A missing semicolon in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Revert "Fix a bug in cpprest-sdk generator (Issue #8450)"
This reverts commit 7d8f842860.
* Fix a bug in cpprest-sdk generator (Issue #8450)
* Add archunit to programatically test format and scope of loggers
* Fix use of loggers
* Update error message
* Add check for abstract class
* Test if classes with abstract in name are abstract
* Make abstract class abstract
* Rename test class
* Make logger private final
* Make logger private
If an item in a go array is nullable, we want to represent it as a pointer,
otherwise it will be deserialized with a default value and it will be
impossible to differentiate it from null.
* Updated the HTML2 Doc Curl Examples to provide sample Request Body & Query Param examples.
* Updated the HTML2 Doc Curl Examples to provide sample Request Body & Query Param examples.
Co-authored-by: Kraust <kraust@cock.li>
* Undefine reserved keywords
Cast to correct type when applicable to be compilable on C++ compilers
Add conditional instllation of configuration files
* Update samples
* Use default installation method if no configuration script is provided
* Undefine stdin/stderr/stdout only for model files
* Undefine stdin/stderr/stdout only for model files in samples
* Remove #undef directives
* Add stdin/stderr/stdout to reserved words for libcurl-C generator
* Expose all symbols when compiling libcurl as a shared library on Windows
Install header files
Set correct flags for target link libraries
* Remove line
* Regenerate samples
* Add comment
* Update documentations
* Revert "Update documentations"
This reverts commit 0e25659de2.
* Update documentations
* Add versioning support
* Add versioning support
* Add comment
This patch addresses an issue where csharp-netcore failed to generate compilable code when required attributes were of complex types.
By using the non-shorthand syntax for checking if the value is set, and throwing an error in that case, the compile issues have been resolved.
Closes#9442Closes#5442
* suspend method is now non-blocking
* added required imports
* generated the samples
* suspend method is now non-blocking
* added required imports
* generated the samples
* Cancelling the call when the coroutine is cancelled
Only use coroutines when requested
Not adding potentially unavailable imports
Co-authored-by: Guus Bloemsma <Guus.Bloemsma@Rabobank.nl>
* Return content type on default spring reactive responses
* Return content type on default spring reactive responses
* Refactor apiUtil and use request mediaType
Co-authored-by: Joshua Bridge <jbridg12@jaguarlandrover.com>
* Enable using more recent CMake versions
Remove default build type
Add OpenSSL using imported targets
PreTarget and PostTarget scripts
Do not build as shared by default
Fix typos
* Default to building shared libraries
* Remove add_compile_definitions()
Correctly add target link libraries
* Fix syntax
* Fix Indentation
* [cpp-ue4] implemented null check and fatal log for GetHttpRetryManager]
* [cpp-ue4] reimplemented null check as checkf rather than Fatail UE_LOG
* [cpp-ue4] regenerated samples and docs
* [cpp-ue4] Fixed a bug where respose json parsing was not taking 'writeOnly' or 'required' into account and was logging a error to the console when there was no actual problem.
* [cpp-ue4] Moved comments to tail of line in response to improve code appearance. Added baseName to comments for clarity of reading.
* [cpp-ue4] removed comments from template from previous commits.
* [cpp-ue4] added back ParseSuccess flag flip for TOptional, as the templated version of TryGetJsonValue does actually handle the absense of the field correctly for TOptional.
* [cpp-ue4] reworked looping in model source template's FromJson to better mirror the loop in WriteJson
* [cpp-ue4] more concise version of writeOnly change to FromJson
* adding a test for issues 10083
* commiting the generated files
* fix for the setattr issue
* commit generated files
Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
* K6 Generator - Support for extracting parameter examples & minor fixes
* K6 Generator - Support for extracting parameter examples & minor fixes
PR checklist: update samples
* K6 Generator - Support for extracting parameter examples & minor fixes
Fixed indentation
Quarkus, as one potential target for using the Java microprofile client
generator, requires a Jandex index to be present in library jars for
discovering beans inside these jars. Therefore, include Jandex index
generation in the pom.xml for microprofile clients as explained here:
https://quarkus.io/guides/cdi-reference#how-to-generate-a-jandex-index
Generating and shipping the index is only a small overhead that is
probably not worth an additional client option.
* Renew the access token after receiving a 401/403
Feign clients tries to renew the access token after it receives a 401 or 403. It Retries the request 1 time
* Add unit test for exhausted retries
* Update samples
* Add apache java client option
* Add sample apache client config
* Switch serialization library, use time formatter
* Add pom template for apache dependencies
* Add initial implementation of ApiClient using apache
* Add apache api template
Plus switch to TypeReference to handle generic types
* Add support for sending json data
* Generate test stubs with @Ignore
* Add accept header
* Remove unnecessary builder assignments
* Set responseHeaders instance variable
* Switch to general serialize / deserialize functions
* Handle sending url encoded form data
* Split response processing into new method
* Allow requests without body
* Use general HttpResponse interface
If the method doesn't need to close it
* Use clients connection timeout
* Add constructor accepting custom client
* Handle multipart and direct file uploads
* Support file downloading
Based on the implementation in the jersey client
* Handle missing content disposition
* Raise error if body given for an unexpected method
* Use try with resources for response handling
* Remove unused url parameter encode method
* Handle content type parse exception
* Improve response content type handling
Would have had issues with content type headers containing a charset
* Make all set methods return client
* Add basic readme
* Send content type with files
* Set domain and path on cookies
Otherwise they will be excluded from the request
* Use consistent quoting in error messages
* Add generated apache sample
* Add generated docs changes
* update samples
* rename library, update samples, docs
* update readme
Co-authored-by: Harry White <hwhite@atlassian.com>
While the fix in #9916 correctly made endpoint types which did not
produce content return the `NoContent` type, those endpoint still
generated `Produces` instances with the wrong mime types due to not
resetting the `hasProduces` variable. This corrects that fix so that the
`Produces` instance for `MimeNoContent` is generated instead of any
other instance.
* fixed non-functional template which assumed a bodyParam requests and made no effort to construct json body from formParams.
* changed spaces to tabs for new lines from last commit
* fixed further indent and tab issues
* fixes a breakage while deserializing the read-only attributes
* updating generated samples
* taking care of the PR comments
* updating samples
* protect against cases where _spec_property_naming may not be present
* updating samples
* adding tests for this issue
* other generated files
* taking care of the comments
* updating the generated samples
Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
Prior to this change, clients generated with asyncNative=true
could not intercept the responses using the existing repsonse
interceptor. This adds another response interceptor solely for
asyncNative=true clients.
* handle nullable objects
* reverted java code
* Rewrote type generation to be recursive
* checking for isRequired only makes sense in the model class
* remove comments
* remove whitespaces
* regen samples
* use const once https://dart.dev/guides/language/effective-dart/usage#dont-use-const-redundantly
* remove const from mustache
* added space between comma and type
* fixed formatting
* remove commas
* regen samples
* bad whitespaces
* Add missing imports for Set in microprofile client
In case of array properties declared with uniqueItems: true, the
generated Java code uses Sets but imports are not present for them in
the Api and Test classes.
* Add missing imports for Set in java native clients
In case of array properties declared with uniqueItems: true, the
generated Java code uses Sets but imports are not present for them in
the Api and Test classes.
* refactor: improve additionalModelTypeAnnotations generation
Split by ';' and/or newline
Trim value
fix: #7032
Run ./bin/generate-samples.sh to regenerate model files
Revert "Run ./bin/generate-samples.sh to regenerate model files"
This reverts commit da509c39f363da046fbd457e1ab67ef0f62f3561.
refector: remove unnecessary import
test: multiples tests for AdditionalModelTypeAnnotations
Add a getter to test the list
refactor: remove duplicate AdditionalModelTypeAnnotations
Without using Set to avoid any side effect somewhere, I use stream and
distinct to avoid duplicates
refactor: using Set instead of stream
Remove stream distinct for performance reason, use newHashSet
Keep AdditionalModelTypeAnnotations as List
doc: update info additionalModelTypeAnnotations
refactor: move doc in code for autogen
style: tab in java class
doc: run ensure-up-to-date
refactor: add imports lost in rebase
docs: regenerate docs
docs: update
* fix: docs
* adds memoization to speed up csharp code generation
* takes care of review comments
* memoize adds to toModel for Go generator as well
Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
* Create initial version of openapi micronaut generator
* Update validation, authorization, query parameters and time format
* Move micronaut to its own generator
* Add micronaut documentation
* Refactor and add tests to JavaMicronautClientGenerator
* Refactor model mustache for micronaut client
* Refactor model enum and pojo mustache files for micronaut client
* Move micronaut client generation to micronaut 3.0.0-M5 version
* Generate samples for micronaut client
* Add hidden files of generated samples for micronaut client
* Add and configure micronaut tests as maven profile
* Add option to choose between junit and spock for micronaut client generator
* Add tests for micronaut 'build' and 'test' options; regenerate micronaut samples
* - new PHP client generator php-dt
* - samples regen after rebase
* - README update
* - fix missing options for php-dt-modern config
* - use another workaround to prevent special treatment of form media types in DefaultGenerator - GlobalSettings usage mangled behaviour of other generators
- fix of missing spaces in generated docs
* - samples update after rebase
The skipIfSpecIsUnchanged did not work when the input spec came from a
classpath resource, which could lead to infinite build loops when the
plugin was used in eclipse
#5805
* respect the nullable flag for all parameters (except path params where this is not allowed)
* generate default values for header and query parameters that are not collections
* we can not handle default values for collection with built_value atm. (not const)
* we can not handle default values for form/body parameters atm. as those can be enums which we can not construct easily
* Bug #5813 :
As "deserialize_date" and "deserialize_datetime" are used outside of "deserialize_model", we should check 'None' value before parsing string.
* Bugfix 5813 :
Update samples and docs
* BUG FIX: A missing semicolon in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* Include request body on DELETE call
This change updates the generated `ApiClient` to include the request body on DELETE calls. [Per the RFC on page 2][1], DELETE calls are allowed to have a request body, even though the behavior may be undefined. I've not come across many APIs that use this behavior but there are a few, in particular the [Ory Kratos API][2] does so, not forwarding the body prevents such an API from being used. An API spec that does not define a request body should continue to function as expected.
[1] https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.5
[2] https://www.ory.sh/kratos/docs/reference/api/#operation/submitSelfServiceLogoutFlowWithoutBrowser
* Samples generated with dart2 template change
* fix parameter with list of `MultipartFile` being generated as single `MultipartFile`
* generate serializer factories for all container params, not only body params
* fix compilation errors when `skipFormModel=false`
If there were multiple concurrent requests at a time at which the OAuth token had expired, only a single request would be retried. The other requests would fail because of the expired token, but not be retried and so the failures would be propagated to the caller.
* [go] More idiomatic godoc comments
* [go] Mark deprecated fields and functions
* [go] Minor mustache readability/consistency fixes
* [go] Mark deprecated operation parameters
* [go] Deprecate a petstore component property for testing
* [go] Apply deprecated godoc in Go servers also
* Add backslash to load namespace from global namespace
* Update example
* Remove hardcoded slash
* Add backslash from java side
* Update samples
* Fix first sample
* Fix other snapshot
* Update version file
* Bump jimschubert/query-tag-action from 1 to 2
Bumps [jimschubert/query-tag-action](https://github.com/jimschubert/query-tag-action) from 1 to 2.
- [Release notes](https://github.com/jimschubert/query-tag-action/releases)
- [Commits](https://github.com/jimschubert/query-tag-action/compare/v1...v2)
Signed-off-by: dependabot[bot] <support@github.com>
* Adjust spacings, bring back suppresses to silence IntelliJ IDEs.
* Suppress few warnings since we know we are using them in the code.
* toLowerCase() is deprecated.
* Wrap enum values in backticks to guard against reserved names, bring back encode/decode for each enum.
* Wrap property names in backticks to guard against reserved names.
* Regenerate samples.
* Do not warn about unused imports.
* Regenerate samples.
* Updated petstore code.
* Add missing reserved Kotlin operators and special keywords.
* Revert adding backticks.
* Regenerate pet store shop code.
* Remove unused suppression.
* Use 3 braces to wrap name.
* Regenerate pet store shop code.
* Remove get from reserved words.
* Revert back removal of description.
* Regenerate source code for Petstore.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* [kotlin-spring] Support query params with model objects (#8080)
Must fix#8080
* [kotlin-spring] Support parsing date and date-time parameters
adopted #3860 for kotlin-spring
Co-authored-by: Мышкин Максим <m.myshkin@tinkoff.ru>
* [dart-dio-next] Update http mock test library
* [dart-dio-next] Fix authentication problems
* correctly map authentication by type and scheme
* add new authentication interceptor for `bearer` scheme - this currently does the same as the OAuth interceptor
* add tests for all authentication types except OAuth
* use temporary test library branch until new fixes and features get merge there
* Actually commit the fixed test library dependency
* Update http mock library
* Format :/
* Cherry picked commits from add-support-for-collection-of-generic-classes
* Regenerated samples
* Missing work by @adamsz-lume
* Try to fix maven plugin error
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
* Fix obvious typo
* Add function to build Composer package name
* Add composerPackageName codegen property
* Use package name if it's not empty
* Refresh samples
* fix-filename-from-header-response-retrieval: fix early exit of iteration
before a match could be found
* fix-filename-from-header-response-retrieval: fixed same bug for alamofire usage too
* fix-filename-from-header-response-retrieval: build project and update samples
Co-authored-by: Christopher Gretzki <gretzki@adesso-mobile.de>
Refs #3358
Ensure `deprecated` operations are annotated/documented as such on the
generated methods. Libraries updated:
* [feign]
* [google-api-client]
* [microprofile]
* [okhttp-gson]
* [resttemplate]
* [retrofit]
* [retrofit/play*]
* [webclient]
* [vertx]
Ensure `deprecated` schemas are annotated/documented as such on the
generated classes/fields. Libraries updated:
* [feign]
* [google-api-client]
* [jersey2]
* [microprofile]
* [native]
* [okhttp-gson]
* [rest-assured]
* [resteasy]
* [resttemplate]
* [retrofit*]
* [webclient]
* [vertx]
Also fix two minor bugs to get the java sample tests working:
* Fix an invalid jackson-datatype-threetenbp version number in vertx/pom.mustache
* Fix a bad return type in webclient/api_test.mustache when uniqueItems=true
Since this commit updates petstore-with-fake-endpoints-models-for-testing.yaml,
several other samples were updated, but it's just new files to reflect the
deprecated schemas, so there should be no consequential differences.
Relevant bits of the spec:
* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-operationdeprecated
* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-schemadeprecated
* Introduce jaxrs-cxf-client-jackson-nullable sample
Generated using: ./bin/generate-samples.sh bin/configs/other/openapi3/jaxrs-cxf-client-jackson-nullable.yaml
* Add support for openApiNullable to JavaCXFClientCodegen
Add import mapping for JsonNullable to AbstractJavaCodegen
* Deduplicate string "jackson" in generators extending AbstractJavaCodegen
* Adjust nullable fields
* Adjust standard getters for nullable fields
add @JsonIgnore to standard getters
* Adjust standard setters for nullable fields
* Adjust fluent setter for nullable fields
* Introduce distinct getter and setter for nullable fields
* Adjust add method for nullable lists
* Adjust put method for nullable maps
* Cleanup JavaJaxRS/cxf/pojo.mustache
* Further cleanup JavaJaxRS/cxf/pojo.mustache
* Adjust inner enum getters
* Make endpoints which don't return anything yield NoContent
Relevant issue: OpenAPITools/openapi-generator#9901
The haskell-http-client generator tries to generate a polymorphic return
type for endpoints which don't return anything in the success case, but
still produce content in other cases. This means that these endpoints
hit a decoding error in the success case, because there is no content to
decode.
This changes the behaviour so that endpoints that don't return anything
are *always* generated as returning NoContent, and never try to decode
the response. This change is based on a similar one for the
haskell-servant generator, which can be found at:
OpenAPITools/openapi-generator#9830
which resolved a similar issue for that generator.
* Update samples after haskell-http-client NoContent change
For tests it’s useful to have direct access to the Wai `Application`,
which is the plain function from `Request` to `Response`.
Then you don’t need to use a full-blown http server to run requests.
* Adds boolean enum component and object property and tests of it
* Regenerates samples
* Passes needed locale argument to toUpperCase
* Regenerates samples
* [BUG][PYTHON] Do not set Content-Type for GET, HEAD or DELETE requests
The Python generator no longer sets a default `Content-Type` of
`application/json` for `GET`, `HEAD` and `DELETE` requests.
Having the `Content-Type` set for these requests was causing issues with
other tools which insist that GET, HEAD and DELETE requests do not have
a Content-Type (as per the OpenAPI 3 specification).
An example of the problem that this commit fixes is when using
[Prism][1] as a [validation proxy][2].
[Prism rejects any GET request that has a Content-Type][3].
Here is [an example of the problem manifesting itself][4].
To validate the fix in this commit:
1. Start with any OpenAPI3 spec e.g. the Petstore example at
https://editor.swagger.io/
2. Generate Python client code for the spec
3. Look at the generated `rest.py` e.g. in the [standard sample in this
repo][5] and see that the `Content-Type` defaults to `application/json`
for all HTTP methods (including `GET`, `HEAD` and `DELETE`), rather than
there being no `Content-Type` for `GET`, `HEAD` and `DELETE`.
Fixes#9831
[1]: https://github.com/stoplightio/prism
[2]: https://meta.stoplight.io/docs/prism/docs/guides/03-validation-proxy.md
[3]: https://github.com/stoplightio/prism/issues/1408#issuecomment-690948020
[4]: https://github.com/agilepathway/gauge-openapi-example/pull/28/checks?check_run_id=2888606052#step:13:18
[5]: 969cea8ce1/samples/openapi3/client/petstore/python/petstore_api/rest.py (L141)
* update samples
* Fix Python DELETE bug introduced in earlier commit
The earlier commit 9dfe1f6 introduced a bug for `DELETE` requests on the
standard Python generator. This commit fixes that bug and also includes
the updated samples.
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [Java] [Native] Unify exception messages for async, add the status code
The template has two methods for creating API exceptions, and the enhancements from #9169 didn't make it to the async version.
- unify the signatures of the two methods (name, arguments)
- make sure the sync version is not generated with asyncNative
- extract the formatting logic into a common formatExceptionMessage() method
- add the status code to the exception message as well, not just the body
- shortened "call received non-success response" to a more concise "call failed with"
* Treat an empty body the same as a null body
Co-authored-by: Jens Fischer <jens.fischer@vier.ai>
* Update Kotlin Multiplatform with Kotlin 1.5.10, Ktor 1.6.0 and Kotlinx.serialization 1.2.1
* remove @Serializable from interfaces
* Using 'String(CharArray): String' is an error. Use CharArray.concatToString() instead
* Fix, RequestConfig needs a type to infer type variable T
Fixes from @DevSrSouzaern
* Fix `private` keyword not being handle as a reservedWords
* Fix enum serialization generation
* Migrate gradle build to Kotlin DSL
* update samples and documentation
* PR Review changes
* sample update
* revert non multiplatform kotlinx_serialization removal
* default Json{} in ApiClient
* revert accidental version push for jvm client
* Match ktor and Kotlinx Serialization version in documentation and build.gradle.kts
* remove const from JSON_DEFAULT
* Update AbstractKotlinCodegen.java
Co-authored-by: Gabriel Souza <devsrsouza@gmail.com>
Co-authored-by: ern <ern@ti8m.ch>
* Implement new PowerShell example structure
Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>
* Modify documentation template to work with the new PowerShell example format
Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>
* Update PowerShell Generator documentation with the new properties
Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>
* Update PowerShell samples with the new PowerShell example format
Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>
* Fix issues with array of models as parameters
Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>
* Change string value generation to include the prefix 'My'
Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>
* Remove multiple new lines and trim leading and trailing spaces in PowerShell example
Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>
* conditional serialization add only those property which user wants to configure.
* fixed the samples
* fixed the sample String to string issue.
* fixed the sample String to string issue.
* updated the sample
* Added unit test for conditional serialization
* update samples
* remove trailing spaces, update samples
* remove files
* add back files
* build the project in the ci
Co-authored-by: William Cheng <wing328hk@gmail.com>
* first commit: add cli option for saga and records. Added dummy sagas.mustache test file.
* More progress with default values. First prototype for isEntity and isUniqueId.
* record generation complete
* record generation complete
* progress with saga generation
* progress with saga generation
* first fully working saga generation
* merge with latest master
* removed unneeded "items" properties.
* moved global CodegenModel modifications into subclass ExtendedCodegenModel used exclusively by TypescriptFetchClient. Adding missing samples files.
* moved global CodegenOperation modifications into subclass ExtendedCodegenOperation used exclusively by TypescriptFetchClient.
* moved global CodegenProperty modifications into subclass ExtendedCodegenProperty used exclusively by TypescriptFetchClient.
* moved global CodegenParameter modifications into subclass ExtendedCodegenParameter used exclusively by TypescriptFetchClient.
* added the missing "allSagas" export.
* renamed & reworked "meta data response" flags to a more useful general concept of "operation return passthrough"
* added vendor flag keepAsJSObject as escape hatch to support circular dependencies in models and other special cases. Also fixed issues with default values for some records properties.
* added autodetection for passthrough to simplify standardised specs.
* fix small issue with passthrough void
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* Added "reservedRecordField" feature to support remapping fields names that cannot be used in Records. Added missing export to record: toApi().
* added uniqueId inference. Fix small generation when uniqueId property is an array.
* removed feature "reservedRecordField" and replaced it with existing built-in "reserved words" feature. Fix minor issues with typings in generated files.
* Changed api recType names to make them less likely to cause name conflicts. Added generated ApiEntities (record, reducer & selector) files.
* Moved location of ApiEntities related files and fix issues with exports.
* - merge latest master
- renamed fake test apis to better fit the "pet theme"
- added mode for "SourceOnlyLibrary" (same as used in codegen typescript jquery)
* - missing ganarate sampless
* - Modified way to export apiEntitiesSelectpr to reduce typescript analysis time for consuming project. Removed tab characters in mustache files. Reformat code for TypeScriptFetchClientCodegen to try to remove false positive for tabs vs spaces.
* - added markErrorsAsHandled property to api sagas. Increased typescript version to address some typing errors on library build.
* - fix bug in saga interfaces. Upgraded to typescript "strict" mode to ensure proper typechecking info is generated.
* - added optional id for apiEntity selectors. Added toInlined() support to convert an entity to an inlined model recursively.
* - minor tweak for apiEntitySelector to accept null id
* - minor tweak for apiEntitySelector
* - runned ensure up to date.
* Revert "- runned ensure up to date."
This reverts commit ea9b4aed
* - runned ensure up to date.
* - runned ensure up to date.
Co-authored-by: Bruno Flamand <bflamand@stingray.com>
* Continuing from #1317 and its PRs for pistache server string enum code generation;
* A class that has an `anyOf` specification, in cpp side will have no members: in stead it should have a member having the type `classname_anyOf`
* Thus, Its `==` operator is not present or wrongly filled
* An string enum, should have a better usage, hence the `setEnumValue`
* this PR, is a brigde between `stringenumclassname_anyOf` and `stringenumclassname`
* `anyOf` specification is not just about `Enums`, so a better handling is needed from mustache templates, hence new template model parameter `isStringEnumContainer`
* PR fix: muttleyxd: `double semicolon`
* PR fix: wing328: `I think std::string is C++ only. What about adding x-is-string-enum-container instead in the postProcessModel operation in the C++ pistache server generator?`
* PR fix: wing328: `I think std::string is C++ only...` after fix get latest codes and then generate samples
Co-authored-by: Mehmet Fatih <mfyuce@netas.com.tr>
Use Gradle 6.9 and Kotlin 1.4.32. Generate Paths for other HTTP verbs
(#828) and fix imports (#5640). Use 'object' when no parameters are
used. Introduce 'featureMetrics' to control metrics plugin usage. Remove
HOCON configuration parsing. This is provided by
`Application.environment.config already` and removes a dependency.
Resolves#9087, resolves#828, resolves#5640
Relates-To #5346
* Revert a change to the Go Client code that broke
the ability to download files. This reverts the change
from 14d41310b9
* Missed import for "io/ioutil"
* update samples
Co-authored-by: icubbon <icubbon@gmail.com>
* Add imports for inner items of arrays/maps in composedSchemas
* Add test case for typescript-angular
* tests
* tests
* disable generate alias
* Create different config
* [python][client] allow passing floats for _request_timeout
While several method docstrings suggested that you could pass floats for
_request_timeout and the underlying urllib3.Timeout can deal with them,
the code only allowed integer values so far when passed as a single
number.
* [python][samples] update with fix for _request_timeout type
* [python-fastapi] Fixed integration tests
Currently, it is required to use python 3.7 to make
python-fastapi generator work. This version is already
set in the generated Dockerfile. Thus, it makes sense to
build this image. Spotify's docker maven plugin can be
used to build the docker image.
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* fixup! [python-fastapi] Fixed integration tests
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* fix compilation break with validate function
* fix error handling in handleParsingException
bug caused all errors to be regarded as an internal server error
* generate samples
* map free-form objects to Dict[str, Any]
* support Forward Type References
Forward type references will be supported by default from Python 3.10 on only. Until then (and starting with Python 3.7), we can opt in by a __future__ import, cf. https://docs.python.org/3.9/whatsnew/3.7.html?highlight=forward#pep-563-postponed-evaluation-of-annotations
* re-created pet-store sample
* bump required Python version to 3.7 for generated FastAPI projects
* make pydantic modell classes process forward type references
* [haskell][server]: Set "AnyType" to `Aeson.Value`
`AnyType` would not be translated to the json value type.
This fixes that.
* [haskell][server] Fix haddock error in `API.hs`
Haddock (the Haskell documentation generator) would choke on the
misplaced docstring. The heading has to appear inside the list.
Thanks to Julian(jfastnacht) who started Slim3 generator and maintained it
until Nov 27, 2017(latest PR). Since Slim4 codegen is based on deprecated
Slim3 I greatly appreciate your commitment.
Add new configuration flags: REMOVE_OPERATION_ID_PREFIX_DELIMITER and REMOVE_OPERATION_ID_PREFIX_COUNT
Add the corresponding fields in the DefaultCodegen
Sanitize the operationId according to the new fields
Add delimiter to list of nonNameElementPattern
Add unit test
* [ci] Only run samples when they actually changed
* in pull requests only run the samples that matter
* if a sample is outdated it will still fail in the build pipeline
* Test Kotlin sample changes
* Revert Kotlin sample change
* pass init and url as returned by the premiddleware to the postmiddleware
Current implementation will always pass the initial url and init object. However if a pre middleware changes returns an object whose `init` or `url` property refer to a different url string or object, any following post middleware wont have access to it. Effectively providing the post middleware with a completely different request information then what was actually used to make the fetch call.
* update samples and docs
Model naming conforms to the property: modelPropertyNaming, however the
parameter naming scheme is currently hardcoded to camelcase. Since the
parameter names are closely tied to the model properties names, is maybe
desirable to use a similar naming approach.
The toParamName cannot directly use the paramPropertyNaming since that
will cause issues with current generated code, since the
modelPropertyNaming currently defaults to "original"
A new property has been created to override this behavior, named
"paramPropertyNaming", and its default is set to "camelcase".
* [python-fastapi] Apply constraints to models
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Use pydantic types to validate models fields
Some data formats can be validated by annotating fields with some
special pydantic data types (EmailStr, forr example).
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Updated samples
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [dart][dart-dio] Add support for query collection parameter format
* add support for collectionFormat in query parameters and www-url-encoded content
* add tests
* remove empty query parameter maps from generated code
* closes#6681
* closes#9522
* closes#8271 (the last remaining parts)
* Fix formatting
`toModelImportMap` only accounts for union types and not intersection types, so I've combined those cases into `splitComposedType`. For `splitComposedType` I combined `replace(" ","").split("\\|")` and `split("( [|&] )|[<>]")` into `replace(" ","").split("[|&<>]")`.
I've added the `needToImport` check to `toModelImportMap`. This is the same check that happens in `addImport`.
* Allow to run ValidateTask tests against Gradle 7.0 as well
* Drop setters for ValidateTask properties of mutable types
This is applicable to the following properties:
- inputSpec
- recommend
Otherwise, Gradle 7.0 now returns an error when attempting
to configure this task.
See https://docs.gradle.org/7.0/userguide/validation_problems.html#mutable_type_with_setter
* Be more specific about the versions of Gradle tested in ValidateTaskDslTest
Test against the latests Gradle 5.x and 6.x versions
* [python-fastapi] Ignore some flake8 warnings
1. Some of the "imported but not used" warnings are there because
it is not easy to express what should be imported in mustache template
language. These warnings are silenced in order to keep the templates
morre readable.
2. Single quotes -> Double quotes (for consistency).
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Added flake8 config
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Set extra constraints on values
It is important to set all constraints (pattern, greater than, etc.)
on values of all arguments, because FastAPI can handle them automatically.
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Updated samples
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* fix handle_request_json spec res
* fix client spec
* make it possible to answer with 0 size binary for 204
* only generate empty bin for 204
* only generate empty bin for 204
* [swift5] Rename the API class to {{projectName}}
Instead of {{projectName}}API. This removes some unnecessary naming
complexity.
* [swift5] Define models and Configuration classes under namespace
When swiftUseApiNamespace is set, API classes get defined under the
projectName namespace. This does the same for models and the
Configuration class. Plus adding a deprecation warning when using the
un-namespaced variants.
* [swift5] Use CodingKeys in model decoder
Fixes: 0f5e7d1e3c ("Swift5 models improvements (#9205)")
* [swift5] Add swiftUseApiNamespace to urlsessionLibrary config
* Update samples
* Try to reduce model changes
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
And update to Kotlin 1.5.0 and kotlinx.serialization 1.2.1. Fix nested
enum annotation '@Serializable' instead of '@KSerializable' when
'kotlinx_serialization' is used. Fix missing JsonMediaType in
ApiClient.kt (#9242). Add 'kotlinx_serialization' serialization library
to documentation. Use explicity type in RequestConfig to keep type
information for JSON serialization.
Resolves#9242
* [cpp-restsdk] Update json double/float parse.
Fix cpp-restsdk double and float parse.
double.NaN was parsed when server doesn't ensure the floating point value has decimal point in in.
* Update docs & samples.
* remove deprecated author field from all pubspec templates
* improve dart-dio-next readme/markdown documentation
* add a lot of dart-doc to model and API classes
* changed correct values
* Updated virtualan version
* updated the correct version
* Updated with latest version
* Update pom.xml
* Updated with 2.5.0
* Updated with db 2.5.0 version
* Adds getter + setter methods for isShortInteger in IJsonSchemaValidationProperties
* Adds isShortInteger to CodegenModel
* Adds isShortInteger to CodegenProperty
* Adds isShortInteger to CodegenParameter
* Adds isShortInteger to CodegenResponse
* Ensures that samples are up to date
* Changes interface to isShort
* Removes typescript file
* Adds isShort to CodegenModel and CodegenProperty instances
* Samples updated, shows too many changes across generators
* Adds isUnboundedInteger and implements it in CodegenModel
* Adds isUnboundedInteger to COdegenProperty
* Adds isUnboundedInteger to CodegenParameter
* Adds isUnboundedInteger to CodegenResponse
* Regenerates samples and docs
* Adds testBooleansSetForIntSchemas
* Fixes integer tests
* [cpp-ue4] Added public methods to process enums in string form as it may be useful for the user code
* [cpp-ue4] Fixed linker errors in some configurations
* [kotlin][client] fix Android crash on API level
* [kotlin][client] update sample project
* Try to fix CI
* [kotlin][client] add flag to control android api level supported
* [kotlin][client] update docs
* [kotlin][client] update docs
* [dart][dart-dio] Improve support for file uploads
* add support for filenames in multipart requests by using `MultipartFile` from dio directly
* add support for binary/file body data
* fixes#6671
* fixes#9079
* Add and fix tests
* Only use MultipartFile for body/multipart parameters
* Fix test
* Actually fix tests
* initil tiny client generator
* Helper string
* WIP: added helper file with json helper functions
* WIP: model implementation.. Working on JSON
* Added codegen files for model and helper
* WIP: toJson()
* Added mapping configurations
* Upadet string compare
* Removed redundant namespaces
* Added files for example
* fixed syntax errors
* fixed syntax errors
* header generation
* unittest example for pet class
* Refactored mustache & fixed logical errors
* WIP: unit test mustache format
* Removed legacy file
* mustache service
* Declare service in Java file
* Removed legacy file
* removed legacy code
* Documentation
* Added folder structure + new supporting files
* Added file to run all unittests
* Refactored unit tests
* typemappings and new paths
* First service impl
* Added esp32 and esp8266 env
* Added default values
* Added cli option to specify controller
* added type decl method
* Added stringify methods
* service get requests
* Fix helper header
* post merge fix
* fix long test
* Tiny namespace
* remove shared pointer
* include petapi
* stringify
* return problems
* Canged logic for response-body handling
* Implemented last logic for reponse handeling
* Implemented constructor logic
* first tiny sample
* update basepath to petstore v3
* standard main example
* root certificate example
* root folder
* TODO cleanup
* exclude features
* supports delete again!👷
* remove todo ❌
* new main example ❣️
* new main example ❣️
* Make our feature set realistic
* fix indentation
* HTTP / HTTPS Connection
* Root certificate sample
* https vs http 👨🏻🔬
* fix lint in template
* default value for controller in config
* new readme 📜
* remove old comments
* removed unused testfile
* no default root certificate
* new main
* remove test
* Update platformio.ini.mustache
🤷♂️
* Update platformio.ini.mustache
remove native
* added support info
* Add namespace to Pet 🐅
* bourne compatibility fix
* spelling error in python file
* bourne python script 🐍
* Version bump
* Add bourne script to readme
* update main sample, from template
* pre_compiling_bourne.py.mustache to samples folder 📃
* set header Content'type to json
* map todo🗺️
* remove unused debug flag⚒️
* added support for ESP8266 ༼ つ ◕_◕ ༽つ
* added new sample for ESP32 📀
* 🎯
* removed use of namespace std ❌
* removed use of "__" in variables
* removed unused code in destructor
* fixed type comparison
* move default ctor to header
* added zero initialized primitive variables
* moved variable to TypeMappings
* updated ifndefines
* Extra comment for build error in standard example 🦸🏽
* afer cpp-ish cast from std::string to uint8* cast🏰
* excluded maps type
* Documentation og generator
Co-authored-by: kaareHH <kaare.hattel@gmail.com>
Co-authored-by: mkakbas <45030188+mkakbas@users.noreply.github.com>
Co-authored-by: mkakbas <martinkandersen1@gmail.com>
* [ci] Move openapi-generator build/docs/samples to github actions
* Naming
* Test failure on samples and docs
* Revert code changes after successful docs/sample failure
* [dart] Improve content-type handling
* fixes#9334
* superseeds #9454
* use `prioritizedContentTypes` in the same way `JavaClientCodegen` does
* move `application/json` to the front if it exists
* don't do anything if it is multi-part or url-encoded as for this the first content-type already needs to match
* log warning if an unsupported content-type is first after prioritizing
* remove some unused code blocks from dio generators
* Only use first prioritized content-type in dio generators
* don't default to any content-type in dio-next, dio defaults itself to JSON
It was a mistake to extend Slim4 from Slim3 codegen. When I need to fix
something in Slim4 I have to overwrite code from Slim3 somehow and it's
not always possible. It's even more important that Slim3 codegen shouldn't
be touched as soon as it's deprecated long time ago.
* Introduce FileParameter as an abstraction
* Update Samples
* Add new file to samples
* Fix hardcoded package name
* Fix hardcoded package name, import FileParameter in Model
* Remove unneccesary warning
* [dart] Move Dart samples from CircleCI to Github actions
* Fix format failing with latest Dart version
* Workflow naming
* Split dart samples depending on version
* use fixed version to prevent flaky builds
* Change branch pattern for release branches
* Huge update for php-mezzio-ph generator:
- proper container support for data types
- support for query parameter references and query parameter schema references
- dependency update (PHP 7.3+, PathHandler 0.7+, DataTransfer 0.5+)
* Sample regeneration after rebasing for php-mezzio-ph
* - added custom CLI option for php-mezzio-ph to generate code using modern PHP syntax
- removed obsolete php-mezzio-ph samples in samples/openapi3/server/petstore/php-mezzio-ph
* - fixes for JavaDoc declarations that seems to break CI
* - fix for outdated sample file
* [Kotlin] [#8809] Allow optional header parameters with Kotlin and retrofit2
* [Kotlin] [#8809] Update sample client
* [Kotlin] [#8809] Replace mustache dot notation with more classic style
* [Kotlin] [#8809] Remove new line at the end of the mustache template
* Fix go-echo-server sample not running in CircleCI
* remove wrong argument
* [dart] Fix petstore sample tests & Multipart not working
* follow up to #9392
* `MultipartRequest(null, null)` is no longer valid after `http` package upgrade
* fix petstore sample project not compiling
* disable live petstore tests
* use template to strip out unused code blocks
* [crystal][client] support authorization header
* [crystal][client] update samples
* [crystal][client] update tests
* [crystal][client] add unit test for api_client.cr
* [crystal] update crystal version 1.0.0
* [crystal] show crystal version on CI
* [crystal][client] $ shards update --ignore-crystal-version
* [crystal][client] update pom.xml
* [swift5][client] add option to generate or not the models additional properties
* [swift5][client] update sample projects
* [swift5][client] format code
* [swift5][client] format code
* [swift5][client] format code
* [swift5][client] update docs
* Revert "[cpp-ue4] Added the possibility to retry requests easily with AsyncRetry method on the response and SetAutoRetryCount on the request"
* [cpp-ue4] Improved retry system to use Unreal's FHttpRetrySystem
* [cpp-ue4] Updated style guide link
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* overhaul pistache templates
* fix function signature in model-source
return type now aligns with definition in model-header
* use default keyword for destructors
* generate pistache samples
* move bin/configs/other/cpp-pistache-server-cpp-pistache.yaml to bin/configs/cpp-pistache-server-cpp-pistache.yaml
* Only generate validation body if necessary
* generate pistache samples
* Add VMware to users list
LMK if I can provide the png for company logo. I tried uploading to img folder and could not.
* add logo, update readme
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Removed obsolete attribute on constructors without HttpClient prameter
* add clickable link in the tooltip
* update doc, add tests
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [TypeScript] Fix misplaced parentheses
* [TypeScript] Run PR relevant scripts
* [TypeScript] ensure up to date
* Revert "[TypeScript] ensure up to date"
This reverts commit 320ec45f
* Revert "[TypeScript] Run PR relevant scripts"
This reverts commit 23cda753
Co-authored-by: Stefan Wendt <stefan.wendt@isax.com>
* [scala][akka] Update dependencies for scala 2.13
* Update pom.mustache to support multiple scala's version
* Update pom.xml
* Scala cross build 2.12 and 2.13
* Update version. Migrate to sbt
* Remove space
* Add pom.xml back
* nim petstore to use 3.0 spec
* ktorm to use 3.0 spec
* update c petstore to use 3.0 spec
* Revert "update c petstore to use 3.0 spec"
This reverts commit a8ff0517ba.
In 5.0.1 the generated line in `ApiClient` was:
```
return RequestBody.create(MediaType.parse(contentType), (byte[]) obj);
```
in 5.1.0 it is:
```
return RequestBody.create((byte[]) obj, MediaType.parse(contentType));
```
Looks like this change was introduced in #8969, and requires a more recent version of OkHttp to compile in some (all?) circumstances.
* Fix parentSchema conditional
we cannot call `parent::` if parent isn't present. Everywhere else in the schema we're checking for `{{parentSchema}}` but here we're checking for `{{parent}}` which is causing errors when parent is not present
* Update samples
My understanding of the version 5 release of OpenAPI generator was that Java 7 support was dropped. Currently the Java client defaults to Java 7, Java 8 can be opted in with the `java8` config option. This removes the conditional logic in `build.gradle` around that config option and defaults to Java 8. This is to support #9151, up-to-date dependency versions rely on Java 8 and it's easier if that is the default.
To be clear, this changes behavior - previous default version was Java 7, this changes it to Java 8.
* [swift5] Fix additionalProps inner type
* [swift5] Add and use AnyCodable type instead of any
* [swift5] Use the original petstore w/fake models for testing default
* [swift5] Update swift-tools-version to 5.1
* [swift5] Update samples and docs
* [swift5] Add useClasses to use `final class` instead of `struct`
* [swift5] Always include CodingKeys enum
* [swift5] Implement model equals and hash functions
* [swift5] Encode `null` values
* [swift5] Test `useClasses` in urlsessionLibrary
* [swift5] Add a required nullable prop test case to 2_0/swift/petstore*.yaml
* [swift5] Update samples and docs
* [Kotlin][#9313] Make form params optional in Kotlin retrofit2 template.
* [Kotlin][#9313] Update sample files.
* [Kotlin] [#9313] Remove new line at the end of the mustache template
* Update Dockerfile.mustache
Using alpine instead of ubuntu for leaner Docker images.
Small fix for welcome message.
Changing default shell to `zsh` and fixing entrypoint.
* update samples
* move config, add new files
Co-authored-by: avbenavides <62693723+avbenavides@users.noreply.github.com>
* Update codegen config
* Add templates for Go Echo openapi-codegen
* Add the yaml config file!
* Add GoEchoServerCodegen.java.
This is the first iteration, it works but probably needs a lot of improvements.
* Update codegen, adds some comments.
* Update GoEchoServerCodegen.java
* Update GoEchoServerCodegen.java
* Update GoEchoServerCodegen.java and related yaml file
* Add the result of generate-samples.sh for CI purposes.
* Add the result of bin/utils/ensure-up-to-date for CI purposes.
* Update go-echo-server-petstore-new.yaml
Fix the outputdir
* Update in regard to result of ./bin/generate-samples.sh
* Update in regard to result of ./bin/generate-samples.sh
* Remove wrongly generated files
* Add correct generated files.
* Add changes regarding /bin/utils/ensure-up-to-date
* Update templates to include comments.
* Update/add result of ./bin/generate-samples.sh and ./bin/utils/export_docs_generators.sh
* add the Dockerfile and updated the README and others.
Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>
* fixed the indent to follow the coding style guide.
Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>
* revised.
Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>
* feat(adapter): add BigDecimal kotlin support
this allows the kotlin client generator to support
BigDecimal values
Fixes#7196
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [Java] [JavaJaxRS] Respect readOnly/writeOnly attribute markers
Generate jackson JsonProperty like following:
- `readOnly` is present in Spec: `@JsonProperty(value = "[name]", access = JsonProperty.Access.READ_ONLY)`
- `writeOnly` is present in Spec: `@JsonProperty(value = "[name]", access = JsonProperty.Access.WRITE_ONLY)`
Edge case: both are present -> Spec is invalid and generator cancels anyway with:
> org.openapitools.codegen.SpecValidationException: There were issues with the specification. The option can be disabled via validateSpec (Maven/Gradle) or --skip-validate-spec (CLI).
> | Error count: 1, Warning count: 1
> Errors:
> -attribute components.schemas.Example. writeOnly and readOnly are both present
* update samples
Co-authored-by: Michael Kroll <9883575+mickroll@users.noreply.github.com>
While inner enum classes from dataClass.mustache work fine, standalone enum classes lack `@JsonProperty` annotations so that Jackson uses names instead of values.
* Fix#8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true
* Fix#8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true
* Fix#8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true
* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"
This reverts commit 56e2b1fb
* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"
This reverts commit 335c304d
* Fix#8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true
* Fix#8027 - import the auto generated supporting JSON class only when discriminator is needed
* Fix#8027 - import the auto generated supporting JSON class only when discriminator is needed
* Fix#8027 - import the auto generated supporting JSON class only when discriminator is needed
* [Java] [Native] Add response body to exception message
* [Java] [Native] Use default base URI if baseUri param is null
* [Java] [Native] Use default base URI if baseUri param is null
* Don't include read-only properties in Python examples.
When using a schema with read-only fields as API inputs, Python
generates examples for those: this excludes them.
* Fix tests
Motivation:
In Gradle 7.0 apply @Input and @Internal on property is forbidden.
Before Gradle 7.0 applying both on the same property is confusing. According to the documentation:
* @Input: Attached to a task property to indicate that the property specifies some input value for the task.
* @Internal: Attached to a task property to indicate that the property is not to be taken into account for up-to-date checking
* Added int arrays parsing in parameters. Respect the 'required' property.
* Replaced spaces with tabs
* Generate samples with new spacing
* Removed unused import
* Merged with latest master
* fix by mapping outside of class
* tests
* regeneration and tests
* server
* INDENT
* a
* enable mapping
* Revert "server"
This reverts commit 6fc9712fb5.
* Samples regenerated
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* fix: rename var
* fix: run pr checklist scripts
* fix: correct response type var name for http client
* chore: run build scripts
* test: ci and correct name?
* [dart] Improve types & imports
* don't use importMapping as it is intended for something different that is not possible in dart
* introduce imports map for dart specific features
* always import `dart:core`
* get rid of additionalReservedWords
* fix `--type-mappings` not working
* use required type mappings in samples
* no longer define additional reserved words as it is impossible to list all anyways, they can now be configured via type-mapping parameter
* simplify dio imports
* Don't use guava for map instantiation
* Update docs
In order to avoid a compiler error when using `noImplicitReturns `, we
change the mustache template to use provide a return value for the if-
and else branch.
Fixes#9174.
* Add bool query in example
* Add parseBoolParameter
* test with boolean parameter
* add endpiont for testing boolean
* remove bool parameter test
Co-authored-by: Stéphane Guillemot <gmtstephane@gmail.com>
* #7325 kotlin-spring remove exchange field from reactive delegate pattern
* #7325 remove examples from kotlin-spring reactive delegate and add missing import
* #7325 add test assertions
* fix swagger spec in test
* Change signature of deserialize() to be a Future.
* Grammar tlc for a couple of sentences.
* Make serialize() use a Future also.
* Add useCompute as a parameter to ApiClient, adjust to use compute when serializing/deserializing.
* Updated Pet Store client code.
* Ordered imports.
* Remove Flutter-specific implementation.
* Rename global functions to serialize/deserialize JSON.
* Fix return type for apiClientSerialize.
* Updated pet store client code.
* Remove remark for _deserialize.
* Make _decodeBodyBytes a Future function.
* Updated pet store client code.
* Use await when calling serialize().
* Fix a grammatical error.
* Adjust doc.
* Centralize deserialization code in one function.
* Updated pet store client code.
* Add await to serialize() in few more tests.
* Make output look better for linting and humans.
* Updated pet store code.
* Add an empty line.
* Updated pet store code.
* Call the right serializer.
* Reuse same variable.
* Updated pet store code.
* Fix a logical error when deserializing.
* Calculate growable once.
* Ignore reassignment.
* Adjust a test.
* Regenerate petstore code.
* Revert back previous test.
* Use serialize() for testing.
* Revert using serialize() for testing.
* Add removal deprecation for serialize/deserialize.
* Updated petstore code.
* Updated deprecation note.
* Adjust tests to wait for futures.
* Fixes additionalProperties values for models, updates docs, adds tag test of it, fixes frit and gmfruit tests
* Moves this.setDisallowAdditionalPropertiesIfNotPresent higher
* Makes setting additional_properties_model_instances contingent on the presence of addprosp in schema, updates sample spec composed schemas to remove addprops False form two
* Fixes oneOf anyOf allOf instantiation logic
* Removes Address from Cat definition
* Adds required vars for apple and banana, removes required vars from composed schema init sig
* Updates composed schema vars to be set on self and all composed instances
* Removes get_unused_args, get_var_name_to_model_instances, and get_additional_properties_model_instances
* Fixes fruit + deserilization tests, creates ComposedSchemaWithPropsAndNoAddProps
* Fixes FruitReq tests
* Fixes GmFruit tests
* Fixes discard_unknown_keys tests
* Samples updated
* Removes additionalproperties False in Child
* Samples updated
* Improves handling of v2 and v3 specs for isFreeFormObject, v2 sample spec updated with link to bug
* Adds cli option disallowAdditionalPropertiesIfNotPresent to python
* Adds getAdditionalProperties method so the value for addProps will be correct
* Reverts file
* Reverts file
* Updates python doc
* Reverted anytype_3 definition
* Updates test_deserialize_lizard
* Updates test_deserialize_dict_str_dog
* Updates testDog
* Updates testChild
* Adds v2 python_composition sample
* Adds needed files for python testing
* Adds existing tests into the new python sample
* Fixes test_dog
* Removes addProps false form Dog
* Fixes testChild
* Updates how additionalProperties are set
* Fixes empty_map type
* Type generation fixed for v2 and v3 specs
* Refactors getTypeString, updates artifactids in pom.xml files
* Adds new python sample to CI testing I think
* Fixes artifactId collision, regenrates docs
* [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient.
* Updated samples
* Removed local variables no more useful
* Added InvalidOperationException when used a configuration not supported for the constructor
* Updated samples
* [dart-dio] Update dio
* [dart-dio] Update to dio 4.0.0
* [dart-dio] Fix dependency problems with Dart 2.12 SDK during build
* Revert changes to analyzer
This only fails locally, not sure why. CI only shows a warning.
* Fix compile error after http_mock update
* Do not allow not reusing HttpClient, fix socket exhaustion issues, add Readme on how to add your own client
* Add Readme change
* Alternative version via constructor injection
* Update samples
* Update usage in ExecAsync
* Clean Constructor
* Add Warning to constructor, Update Samples
* Add warning, fix last constructor, update samples
* Change client to private in constructor injection
* Add disposable to ApiClient
* Do not dispose handler if we did not create it
* Update samples
* Add disable switch and update samples and documentation
Prepare custom auth function template to be optional one
Rename auth function to middleware
Move middleware execution below operations with context
Generate samples for go
Modify new line characters in template not to affect default one
Generate samples with modified template
Including the generated JS client library code as a git repository did not work when executing npm install. It complained about not being able to find 'babel'. Apparently when referencing a dependency from git, both prepare and prepack are executing to build the 'dist' directory, but prepack does will not include any devDependencies. Therefore we need to switch this to prepare instead.
* Update controller.mustache
Moved using directive for Microsoft.AspNetCore.Authorization outside of useSwashbuckle tag to prevent compilation errors with Authorize tag if Swashbuckle is disabled.
* Updated aspnetcore-3.x samples
* [Java][Jaxrs-Resteasy] Fixes generator devaultValues for int64/float/double
* add test
* fix tests
* trigger rerun of timeout tests
* remove SmartBear line from comments for new files
* trigger rerun of validations
* trigger rerun of validations
* trigger rerun of validations
* trigger rerun of validations
* trigger rerun of validations
* move postProcessParameter to AbstractJavaCodegen
* move postProcessParameter to AbstractJavaCodegen
Co-authored-by: zewang <zewang@deepmap.ai>
* Turns on setting model.additionalProperties for composed schemas when supportsAdditionalPropertiesWithComposedSchema is true, tests updated for v2 and v3 specs
* Comment change
* Samples updated
* Turns on supportsAdditionalPropertiesWithComposedSchema for CsharpNetCoreClient, samples regenerated
* Changes commented out, samples regnerated
* Refactors the update in setAddProps to not impact the charp client
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results
- store_test_results:
path:/tmp/circleci-test-results
# Save artifacts
- store_artifacts:
path:/tmp/circleci-artifacts
- store_artifacts:
path:/tmp/circleci-test-results
command_docker_build_and_test:
parameters:
nodeNo:
default:"0"
type:string
steps:
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`.
For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `5.1.x`, `6.0.x`
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (5.3.0), `6.0.x`
- [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request.
@@ -87,12 +88,10 @@ To add test cases (optional) covering the change in the code generator, please r
To test the templates, please perform the following:
- Update the Petstore sample by running the shell scripts under the `bin` folder. For example, run `./bin/generate-samples.sh .
/bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/tree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (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)
- During development it can be helpful to quickly regenerate the samples without recompiling all of openapi-generator, e.g. when you have only updated the mustache templates. This can be done by passing the `-t` parameter: `-t modules/openapi-generator/src/main/resources/python`.
- Update the Petstore sample by running the shell scripts under the `bin` folder. For example, run `./bin/generate-samples.sh ./bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/tree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (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)
- During development, it can be helpful to quickly regenerate the samples without recompiling all of openapi-generator, e.g. when you have only updated the mustache templates. This can be done by passing the `-t` parameter: `-t modules/openapi-generator/src/main/resources/python`.
- Run the tests in the sample folder using maven `mvn integration-test -f /path/to/pom.xml`, e.g. `mvn integration-test -f samples/client/petstore/python/pom.xml`. (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/3_0/petstore-with-fake-endpoints-models-for-testing.yaml)
[](https://github.com/OpenAPITools/openapi-generator/actions?query=workflow%3A%22Check+Supported+Java+Versions%22)
| 6.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.0.0-SNAPSHOT/) | Nov/Dec 2021 | Minor release with breaking changes (no fallback) |
| 5.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.1.0-SNAPSHOT/) | Mar/Apr 2021 | Minor release with breaking changes (with fallback) |
| 6.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.0.0-SNAPSHOT/) | Feb/Mar 2022 | Major release with breaking changes (no fallback) |
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) (latest stable release) | 31.01.2021 | Minor release with breaking changes (with fallback) |
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
(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/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.1.0/openapi-generator-cli-5.1.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.4.0/openapi-generator-cli-5.4.0.jar)
<!-- /RELEASE_VERSION -->
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -553,7 +545,7 @@ When code is generated from this project, it shall be considered **AS IS** and o
### [3.5 - IDE Integration](#table-of-contents)
Here is a list of community-conitributed IDE plug-ins that integrate with OpenAPI Generator:
Here is a list of community-contributed IDE plug-ins that integrate with OpenAPI Generator:
- Eclipse: [Codewind OpenAPI Tools for Eclipse](https://www.eclipse.org/codewind/open-api-tools-for-eclipse.html) by [IBM](https://www.ibm.com)
- IntelliJ IDEA: [OpenAPI Generator](https://plugins.jetbrains.com/plugin/8433-openapi-generator) by [Jim Schubert](https://jimschubert.us/#/)
@@ -566,20 +558,25 @@ Here is a list of community-conitributed IDE plug-ins that integrate with OpenAP
## [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.
@@ -752,6 +759,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2019-11-26 - [CordaCon 2019 Highlights: Braid Server and OpenAPI Generator for Corda Client API’s](https://blog.b9lab.com/cordacon-2019-highlights-braid-server-and-openapi-generator-for-corda-flows-api-s-d24179ccb27c) by [Adel Rustum](https://blog.b9lab.com/@adelrestom) at [B9lab](https://blog.b9lab.com/)
- 2019-12-03 - [A Road to Less Coding: Auto-Generate APILibrary](https://www.corda.net/blog/a-road-to-less-coding-auto-generate-apilibrary/) at [Corda Blog](https://www.corda.net/blog/)
- 2019-12-04 - [Angular+NestJS+OpenAPI(Swagger)でマイクロサービスを視野に入れた環境を考える](https://qiita.com/teracy55/items/0327c7a170ec772970c6) by [てらしー](https://twitter.com/teracy55)
- 2019-12-05 - [Code generation on the Java VM](https://speakerdeck.com/sullis/code-generation-on-the-java-vm-2019-12-05) by [Sean Sullivan](https://speakerdeck.com/sullis)
- 2019-12-17 - [OpenAPI Generator で OAuth2 アクセストークン発行のコードまで生成してみる](https://www.techscore.com/blog/2019/12/17/openapi-generator-oauth2-accesstoken/) by [TECHSCORE](https://www.techscore.com/blog/)
- 2019-12-23 - [Use Ada for Your Web Development](https://www.electronicdesign.com/technologies/embedded-revolution/article/21119177/use-ada-for-your-web-development) by [Stephane Carrez](https://github.com/stcarrez)
- 2019-12-23 - [OpenAPIのスキーマを分割・構造化していく方法](https://gift-tech.co.jp/articles/structured-openapi-schema) by [小飯塚達也](https://github.com/t2h5) at [GiFT, Inc](https://gift-tech.co.jp/)
@@ -805,6 +813,31 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2021-01-18 - [「アプリ開発あるある」を疑うことから始まった、API Clientコードの自動生成【デブスト2020】](https://codezine.jp/article/detail/13406?p=2) by [CodeZine編集部](https://codezine.jp/author/1)
- 2021-02-05 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://blog.viadee.de/en/rest-api-roundtrip) by [Benjamin Klatt](https://twitter.com/benklatt) at [viadee](https://www.viadee.de/en/)
- 2021-02-17 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://medium.com/nerd-for-tech/rest-api-roundtrip-with-springdoc-and-openapi-generator-30bd27ccf698) by [cloud @viadee](https://cloud-viadee.medium.com/)
- 2021-03-08 - [OpenAPI Generator 工具的躺坑尝试](https://blog.csdn.net/u013019701/article/details/114531975) by [独家雨天](https://blog.csdn.net/u013019701) at [CSDN官方博客](https://blog.csdn.net/)
- 2021-03-16 - [如何基于 Swagger 使用 OpenAPI Generator 生成 JMeter 脚本?](https://cloud.tencent.com/developer/article/1802704) by [高楼Zee](https://cloud.tencent.com/developer/user/5836255) at [腾讯云专栏](https://cloud.tencent.com/developer/column)
- 2021-03-24 - [openapi-generator-cli による TypeScript 型定義](https://zenn.dev/takepepe/articles/openapi-generator-cli-ts) by [Takefumi Yoshii](https://zenn.dev/takepepe)
- 2021-03-28 - [Trying out NestJS part 4: Generate Typescript clients from OpenAPI documents](https://dev.to/arnaudcortisse/trying-out-nestjs-part-4-generate-typescript-clients-from-openapi-documents-28mk) by [Arnaud Cortisse](https://dev.to/arnaudcortisse)
- 2021-03-31 - [Open API Server Implementation Using OpenAPI Generator](https://www.baeldung.com/java-openapi-generator-server) at [Baeldung](https://www.baeldung.com/)
- 2021-03-31 - [使用OpenAPI Generator實現Open API Server](https://www.1ju.org/article/java-openapi-generator-server) at [億聚網](https://www.1ju.org/)
- 2021-04-19 - [Introducing Twilio’s OpenAPI Specification Beta](https://www.twilio.com/blog/introducing-twilio-open-api-specification-beta) by [GARETH PAUL JONES](https://www.twilio.com/blog/author/gpj) at [Twilio Blog](https://www.twilio.com/blog)
- 2021-04-22 - [Leveraging OpenApi strengths in a Micro-Service environment](https://medium.com/unibuddy-technology-blog/leveraging-openapi-strengths-in-a-micro-service-environment-3d7f9e7c26ff) by Nicolas Jellab at [Unibuddy Technology Blog](https://medium.com/unibuddy-technology-blog)
- 2021-04-27 - [From zero to publishing PowerShell API clients in PowerShell Gallery within minutes](https://speakerdeck.com/wing328/from-zero-to-publishing-powershell-api-clients-in-powershell-gallery-within-minutes) by [William Cheng](https://github.com/wing328) at [PowerShell + DevOps Global Summit 2021](https://events.devopscollective.org/event/powershell-devops-global-summit-2021/)
- 2021-05-31 - [FlutterでOpen Api Generator(Swagger)を使う](https://aakira.app/blog/2021/05/flutter-open-api/) by [AAkira](https://twitter.com/_a_akira)
- 2021-06-22 - [Rest API Documentation and Client Generation With OpenAPI](https://dzone.com/articles/rest-api-documentation-and-client-generation-with) by [Prasanth Gullapalli](https://dzone.com/users/1011797/prasanthnath.g@gmail.com.html)
- 2021-07-16 - [銀行事業のサーバーサイド開発について / LINE 京都開発室 エンジニア採用説明会](https://www.youtube.com/watch?v=YrrKQHxLPpQ) by 野田誠人, Robert Mitchell
- 2021-07-19 - [OpenAPI code generation with kotlin](https://sylhare.github.io/2021/07/19/Openapi-swagger-codegen-with-kotlin.html) by [sylhare](https://github.com/sylhare)
- 2021-07-29 - [How To Rewrite a Huge Codebase](https://dzone.com/articles/how-to-rewrite-a-huge-code-base) by [Curtis Poe](https://dzone.com/users/4565446/publiusovidius.html)
- 2021-08-21 - [Generating Client APIs using Swagger Part 1](https://medium.com/@flowsquad/generating-client-apis-using-swagger-part-1-2d46f13f5e92) by [FlowSquad.io](https://medium.com/@flowsquad)
- 2021-09-11 - [Invoking AWS ParallelCluster API](https://docs.aws.amazon.com/parallelcluster/latest/ug/api-reference-v3.html) at [AWS ParallelCluster API official documentation](https://docs.aws.amazon.com/parallelcluster/latest/ug/api-reference-v3.html)
- 2021-09-20 - [OpenAPI Generator - The Babel Fish of the API World](https://www.youtube.com/watch?v=s2zMtwd5klg) by [Cliffano Subagio (Principal Engineer at Shine Solutions)](https://github.com/cliffano) at [Apidays LIVE Australia 2021](https://www.apidays.global/australia2021/)
- 2021-10-02 - [How to Write Fewer Lines of Code with the OpenAPI Generator](https://hackernoon.com/how-to-write-fewer-lines-of-code-with-the-openapi-generator) by [Mikhail Alfa](https://hackernoon.com/u/alphamikle)
- 2021-10-12 - [OpenAPI Generator : 4000 étoiles sur GitHub et des spaghettis](https://www.youtube.com/watch?v=9hEsNBSqTFk) by [Jérémie Bresson](https://github.com/jmini) at [Devoxx FR 2021](https://cfp.devoxx.fr/2021/speaker/jeremie_bresson)
- 2021-10-17 - [Generate a TypeScript HTTP Client From An OpenAPI Spec In DotNET 5](https://richardwillis.info/blog/generate-a-type-script-http-client-from-an-open-api-spec-in-dot-net-5) by [Richard Willis](https://github.com/badsyntax)
- 2021-11-06 - [スタートアップの開発で意識したこと](https://zenn.dev/woo_noo/articles/5cb09f8e2899ae782ad1) by [woo-noo](https://zenn.dev/woo_noo)
- 2021-11-09 - [Effective Software Development using OpenAPI Generator](https://apexlabs.ai/post/effective-software-development-using-openapi-generator) by Ajil Oomme
- 2021-12-07 - [An Introduction to OpenAPI](https://betterprogramming.pub/4-use-cases-of-openapi-which-are-good-to-know-1a041f4ad71e) by [Na'aman Hirschfeld](https://naamanhirschfeld.medium.com/)
- 2021-01-02 - [Towards a secure API client generator for IoT devices](https://arxiv.org/abs/2201.00270) by Anders Aaen Springborg, Martin Kaldahl Andersen, Kaare Holland Hattel, Michele Albano
## [6 - About Us](#table-of-contents)
@@ -819,10 +852,12 @@ OpenAPI Generator core team members are contributors who have been making signif
gradleProperties:"\n# JVM arguments\norg.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m\n# set timeout\norg.gradle.daemon.idletimeout=3600000\n# show all warnings\norg.gradle.warning.mode=all"
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.