* 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
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.
| 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.2.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.2.0-SNAPSHOT/) | Jun/Jul 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.1/openapi-generator-cli-5.1.1.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.1/openapi-generator-cli-5.2.1.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`
@@ -570,6 +571,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Agoda](https://www.agoda.com/)
- [Allianz](https://www.allianz.com)
- [Angular.Schule](https://angular.schule/)
- [Aqovia](https://aqovia.com/)
- [Australia and New Zealand Banking Group (ANZ)](http://www.anz.com/)
- [ASKUL](https://www.askul.co.jp)
- [Arduino](https://www.arduino.cc/)
@@ -590,6 +592,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Cupix](https://www.cupix.com/)
- [Datadog](https://www.datadoghq.com)
- [DB Systel](https://www.dbsystel.de)
- [Devsupply](https://www.devsupply.com/)
- [DocSpring](https://docspring.com/)
- [dwango](https://dwango.co.jp/)
- [Edge Impulse](https://www.edgeimpulse.com/)
@@ -609,6 +612,8 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Here](https://developer.here.com/)
- [IBM](https://www.ibm.com/)
- [Instana](https://www.instana.com)
- [Interxion](https://www.interxion.com)
- [Inquisico](https://inquisico.com)
- [JustStar](https://www.juststarinfo.com)
- [k6.io](https://k6.io/)
- [Klarna](https://www.klarna.com/)
@@ -624,6 +629,8 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
@@ -817,6 +824,14 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 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-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)
## [6 - About Us](#table-of-contents)
@@ -880,6 +895,7 @@ Here is a list of template creators:
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.