* Map parameters now carry their container properties when generated from map properties. This solves an issue where a map parameter was not considered a container and induced generation errors.
* Added test specification with fake endpoint for testing map parameters
---------
Co-authored-by: Samuel Kahn <samuel@darewise.com>
* renamed OpenAPIClient-httpclient to Petstore
* updated bin artifacts
* renamed OpenAPIClientCoreAndNet47 to MultipleFrameworks
* updated bin artifacts
* renamed OpenAPIClient-net47 to Petstore
* renamed OpenAPIClient-net48 to Petstore
* updated bin artifacts
* renamed OpenAPIClient-restsharp-name-parameter-mappings to ParameterMappings
* updated bin artifacts
* renamed OpenAPIClientCore to Petstore
* updated bin artifacts
* renamed OpenAPIClient-net7.0-useDateTimeForDate to UseDateTimeForDate
* updated bin artifacts
* renamed OpenAPIClient-net5.0 to EnumMappings
* updated bin artifacts
* renamed OpenAPIClient-ConditionalSerialization to ConditionalSerialization
* updated bin artifacts
* renamed OpenAPIClient to Petstore
* updated bin artifacts
* renamed OpenAPIClient-unityWebRequest to Petstore
* updated bin artifacts
* updated appveyor
* updated bin artifacts
* updated bin artifacts
* comenting out a sample project with no csproj file
* updated bin artifacts
* Add java-jersey2 sample with mixed oneOf
* [java][jersey2]Fix client generation if oneOf contains an array type
Changes:
* Change jersey2/oneof_model template to use composed schema data
* Change adding of imports in AbstractJavaCodegen to use composed schema data
* Add escapedDataType property to CodegenProperty so that the data type
may be part of identifiers (e.g. in getters)
* Update samples
* Add sample for multiple array in oneOf
* Fix generation of constructors with same erasures
* Update samples again
* Version bump
* Add new sample folders to CI
* Make primitive handling more explicit
* Replace escapedDataType property with Mustache lambda
* Update samples with new primitive handling and sanitization lambda
* moved OpenAPIClient-generichost-net6.0
* moved OpenAPIClient-generichost-netcore-latest-allOf
* moved OpenAPIClient-generichost-netcore-latest-anyOf
* moved OpenAPIClient-generichost-netcore-latest-oneOf
* moved OpenAPIClient-generichost-net6.0-nrt-useSourceGeneration
* moved OpenAPIClient-generichost-net6.0-nrt
* moved OpenAPIClient-generichost-net7.0-useDateTimeForDate
* moved OpenAPIClient-generichost-manual-tests
* moved OpenAPIClient-generichost-netstandard2.0
* moved OpenAPIClient-generichost-net6.0
* deleted abandoned files
* updated bin artifacts
* build samples
* updated workflow
* fix manual tests
* moved manual tests
* moved allOf
* moved anyOf
* moved oneOf
* moved OpenAPIClient-generichost-net6.0
* moved OpenAPIClient-generichost-net6.0-nrt
* moved OpenAPIClient-generichost-net6.0-nrt-useSourceGeneration
* moved OpenAPIClient-generichost-net7.0-useDateTimeForDate
* moved OpenAPIClient-generichost-netstandard2.0
* moved OpenAPIClient
* moved OpenAPIClient-ConditionalSerialization
* moved OpenAPIClient-httpclient
* moved OpenAPIClient-net5.0
* moved OpenAPIClient-net7.0-useDateTimeForDate
* moved OpenAPIClient-net47
* moved OpenAPIClient-net48
* moved OpenAPIClient-restsharp-name-parameter-mappings
* moved OpenAPIClient-unityWebRequest
* moved OpenAPIClientCore
* moved OpenAPIClientCoreAndNet47
* renamed standard2 to standard2.0
* renamed standard2 to standard2.0
* fixed workflows
* renamed workflows
* updated bin artifacts
* updated bin artifacts
* pinned the samples to their version
* renamed bin artifacts
* update bin artifact
* update bin artifact
* update bin artifact
* updated appveyor
* reverting changes bc git does not show the rename
* commiting all but the file rename for these two files
A misplaced parenthesis let to a syntax error when generating the code for a nullable set in the FromJSONTyped function. By moving the parenthesis to the correct place the syntax error was resolved.
* #18058 Fix AbstractJavaCodegen.getAccepts() so it returns a String array instead of a comma-separated string, and fixed api.mustache so the @RequestMapping annotation generated produces for x-accepts as a parameter list instead of a (single) string.
* #18058 Updated test case to accept a string array instead of a comma-separated list.
* #18058 Reverted changes on imported compared to the main branch.
* #18058 getAccepts() is now hybrid, and can return both a single String or a String[].
* #18058 Rolled back the hybrid getAccepts(), so it only returns a String array.
* #18058 Updated mustache files to cope with vendorExtensions.x-accepts being a string array instead of a comma-separated string.
* #18058 Generated new sample files with by running `./bin/generate-samples.sh ./bin/configs/*.yaml`
* #18058 Optimization of getAccepts()
* #18058 Regenerated scripts that got broken after resolving conflicts on GitHub
* #18058 Fixed introduced issue with api.mustache causing a redundant accept with @HttpExchange with the PetApi.java, StoreApi.java, and UserApi.java.
* Skip post processing when generating JAXRS spec with Kotlin
This feature was previously added to work with the javalin5 library
* Add sample that proves what we expect after fixing this
* Update sample
* Added new samples to samples workflow
* Revert from jdk17 pipeline
* fix-for-bug-16086
* add to_dict alternative
* fix assertEqual
* remove extra blank line + test_model Argument SecretStr set
* update samples / remove extra blank line
* restore sanitize test for serialization with different data types
* remove empty line in api_client.mustache
* remove 2nd empty line in api_client.mustache
* fix: jersey3 library
fix issue that library failed in case pattern matching was used in
the api.
* add tests, update version
* update
* fix tag
* fix, update samples
* update build
* more update
* update workflow
* test useJakarta
---------
Co-authored-by: holomekc <30546982+holomekc@users.noreply.github.com>
* fix: Fix schema generation for `oneOf` when using TS-FETCH client
This fixes the following errors:
* Spread types may only be created from object types (on `FromJSONTyped` functions).
* Module '"./BlankEnum"' has no exported member 'instanceOfBlankEnum' (enum templaces don't export function used by other API client files).
* chore: Regenerate samples
* add direct invocation methods for java (httpclient)
* add direct invocation methods for java (resttemplate)
* handle methods only if endpoints exist for api client
* preserve previous newline to minimize changes
* update httpclient/resttemplate samples
* add common methods in base class
* regenerate samples with base class
* changed files from rebuilding project and updating samples
* change default value of from_encoding to empty string
- from_encoding = NULL is invalid and produces an error, as only strings are allowed, see https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/iconv
- defaulting to an empty string fixes this issue
* fix map being surrounded by quotes in json
* allow httr2 client to deal with empty response body
* changed files from rebuilding project and updating samples
* added PetMap schema for test of correct map serialization in toJSONString and regenerated samples
* fix#17831 @lombok.NonNull on all required fields when any lombok annotation is included
* fix#17831 @lombok.NonNull on all required fields when any lombok annotation is included
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints (generated docs and samples)
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints (generated docs and samples)
---------
Co-authored-by: Kevin Hahn <kevin.hahn@partner.ionity.eu>
* [kotlin] Enum should match spec
Adjust the enum generation to match what is in the spec, rather than
camel-casing it.
Add tests for capitalization scenarios, including for kotlin keywords
* [kotlin] export docs generators for enum change
* [kotlin] export docs generators for enum change
* fix conflicts
---------
Co-authored-by: Tyler B. Thrailkill <tylerbthrailkill@gmail.com>
Co-authored-by: Jari Nystedt <jari.nystedt@tietoevry.com>
* Add notes to requests for better readability
* Adds extra configs for jetbrains http client for testing
* Adding new sample data
* Changes
* Setting up test infrastructure
* Adds body to requests.
* Fixing some bugs in map traversal
It'd be much better to use a proper library for this though
* Adding secret file to gitignore
* Adds github spec, for complex example.
Add null check to avoid errors in example extraction
* Add support for custom variables in request body
* Add support for all basic Auth headers
* Not sure whaet happened with my api mustache file
* Add support for custom headers
* Fixes empty lines issue
* Adds support for Accept header
* Adding many tests, deleting experiment files
* Updates generator doc
* Completes README file with extra information
* Runs generate-samples and export docs
* Running sample generation
* Adding missing files to samples
* Removing forgotten stdout statements
* Ignore one test making the docker image generation fail
* add initial openapi config and java generated files
* add java implementation for adding generator version
* regenerate sample client files
* remove tabs
* only show generated version if build info exists
* set build info for batch generation
* update generator doc for new global flag
* use existing property for generator version
* update templates to include generator version
* update templates for better generator version syntax
* revert undesired changes
* regenerate samples for openapi client
* update templates to correct formatting/newlines
* correct description text and add to usage doc
* add generator cli option for all codegen types
* use more concise version info; update existing codegens to support new prop
* correct wrong prop reference
* add initial test coverage for new prop
* update last (scala) templates with new prop
* update samples after upstream merge
* use consistent version output
* use better sample project id/name
* revert using option for generator version in templates
* + Cookie parameter generation fixed
* Added cookie parameter mustache template for generating cookie related code
* Adapted kotlin-spring api templates to include cookie parameters
* Added tests for evaluating cookie parameter code generation
* Added configuration sample for the new cookie use case
* - Unused fake cases removed
* Removed fake cases from openapi spec that were not related to cookie usage
* Cleaned sample files
* added jackson as supported serialization library for retrofit2; resolves#7435
* Jackson support for retrofit2 library: Adjusted ApiClient to respectively include only gson or jackson specific conversion support depending on which serialization framework is selected
* Jackson support for retrofit2 library: Adjusted dependencies to respectively only include those necessary for gson or jackson depending on which serialization framework is selected
* reorder converter factory additions to have minimal change
* -: skipping gson-fire dependency when gson is not selected
* -: Jackson support for retrofit2 library: since useplayws implies jackson usage, only adding dependencies via useplayws that are specific to it
* Jackson support for retrofit2 library: fixed whitespace issue in generated api clients
* Jackson support for retrofit2 library: removed duplicated play26 dependency version property
* Jackson support for retrofit2 library: update to play26 example as that had gson dependencies but does not seem to use it and now fully relies on the jackson setting to control the respective dependencies; play version property and dependency changed place because the jackson dependencies are grouped together and the play26 ones are placed after
* Jackson support for retrofit2 library: adjusting dependencies also for gradle file
* -: moved jackson databind version out of jackson section since it is used independently of jackson support it seems
* -: update gradle dependencies to match changes in maven dependencies
* Improve Add Async - Spring Cloud test
By testing the generated code.
This will be used to detect regressions.
* Spring: Fix reactive return type for list
Fix for #16883.
When *reactive* is enabled and response entities is *disabled*,
use `Flux<Item>` to stream the output instead of `Mono<Flux<Item>>`
With Spring Reactive, the expected return type for an array of item is
`Flux<Item>`.
Without this patch, the generated code is `Mono<Flux<Item>>`.
This is fixed by introducing specific handling for return types when
reactive is enabled.
In particular, "responseWrapper" is not used anymore in such situations.
* Fix methodBody
* Fix invalid test
* Fix SSE
* Fix methodBody when isArray and useResponseEntity
* methodBody: Flux.empty() instead of s -> {}
``EntityUtils#toString`` automatically selects the correct encoding based on the received request.
Scanner currently uses the JVM default encoding, which doesn't always work.
* Update csharp oneOf and anyOf mustache templates to accept primitive, object, and array types when deserializing
Add bug openapi spec
Remove generated files
Add test endpoints
Generate base on spec
Remove issue spec as it is moved into sample test spec
Add back in number and int
Round trip anyOf/oneOf serialization tests
Generate classes with int/num types
Do through converter instead of object ctor
Regen models
Use convert methods
Regen models
Test data
Add enum
Remove enums
Regenned models
* update sha256
* use new spec
* skip tests
* update workflow
* fix
---------
Co-authored-by: Ruben Aguilar <ruben.aguilar@forgeglobal.com>
* [okhttp-gson] Make initializer block for GSON builder static #16860
Make initializer block for GSON builder static, see #16860
* update sapmles
---------
Co-authored-by: Andre Wachsmuth <awa@xima.de>
* feat(client): support ability to disable boxed models
Add new additional property `avoidBoxedModels` which can be configured to avoid `Box<..>` of models.
It's very nice to have such config, because it doesn't make a lot of sense for really simple models.
* test: rollback config of existed test
* Fixed invalid extraction of response body in kotlin-client jvm-spring-*
* Generated echo-api for kotlin-jvm-spring-3-restclient
* Specific echo-api for Kotlin without allOf/anyOf
* Specific echo-api for Kotlin without allOf/anyOf
* Generated all samples
* Added kotlin-jvm-spring-3-restclient sample to workflow
* Fixed syntax problem
* [kotlin] Fixed multiple problems with default values
* [kotlin] Removed old commented code
* [kotlin] Generated new samples after merge with master
* [kotlin] ensure-up-to-date
* fix(rust): discriminator mapping to serde rename
Discriminator mapping has been ignored in some cases.
Even existing samples had wrong definition in some cases
This PR addresses this
* fix(rust): `oneOf` generation for client
Solves #17869 and #17896 and also includes unmerged $17898
Unfortunately it affects quite a lot of code, but we can see that only client-side models were affected by re-generation.
I tried to split this PR to several, but they're really coupled and hard to create a chain of PRs.
* fix: indentation in `impl Default`
* missing fixes
* fix: correct typeDeclaration with unaliased schema
* style: improve indentation for models
* fix: user toModelName for aliases of oneOf
* refactor: unify `getTypeDeclaration` for rust
* cover the case when `mapping` has the same `ref` for different mapping names
* test: add test for previous change
* style: remove extra qualified path to models
* add some comments
* fix(build): use method of `List` instead of specific for `LinkedList`
* add feature to generate only interface files
* generate sample
* add workflow file foe go gin service
* add workflow file foe go gin service
* add workflow file foe go gin service
* update samples
* fix(rust): simplify None logic
Used to be a code path (where isFreeFormObject and something else) where we could end up with two `: None` `: None`'s
This does add the None for the !required && !isArray && !isMap && !isNullable case (where nothing would have been printed before.
Above for the type on the individual vars inside the struct definition the logic is simply if not required then it's optional.
If it's optional we want a None when creating a new struct.
* ci: add tests for failure
* Use `exists()` to check for existing properties.
* Generate Petstore code.
* Fix use of `null` instead of `undefined`.
* Enhance function code.
* Regenerate Petstore code.
* Use `exists()` in generated API clients.
* Use `exists()` in generated API clients.
* Refer to properties differently.
Even though `title` is technically for the title of the API itself,
it's possible to set it for properties as well.
Right now, the `title` property is available in templates for regular properties,
but for ref-properties it gets lost right here.
This seemed rather surprising to me, so I think it's better to fix.
* Adds Collapse Spec Optionss to Maven Plugin
* Adds a collapsedSpec option to the maven plugin that produces a single-file representation of the spec in the output directory.
* Adds a includeCollapsedSpecInArtifacts option to the maven plugin that adds the collapsed spec file to the maven artifacts.
* Address Feedback Round 1
* Adds the new options to the maven plugin README.md.
* Fixes Unit Tests
* Corrects the casing of one of the schema files that was causing the tests to fail.
* fix(ruby): Detect content-type in form-data file upload using faraday (#17851)
* Update samples
* Add needed dependency libmagic-dev into node 1 setup of Circle Parallel CI
* After merge/pull last master + regeneration of samples
* [rust] basic oneOf support
Suport oneOf as a rust struct enum.
Details:
Enum without a discriminator is untagged being
"untagged" simply means serde won't attempt to
store the name of the enum inside the serialized
object. See
https://serde.rs/enum-representations.html#untagged
for more
Also check to make sure the mapping values
are not an empty object (aka null).
Co-authored-by: Nikita Puzankov <git@bshn.rs>
* refactor: fix clippy lints
No longer needed as of reqwest 0.10, it now takes the response as owned instead of mut ref.
Is not empty is more clear
* fix: discriminator and oneof case
Will show as a struct enum when there are additional fields, otherwise will be a tuple enum.
not sure the purpose of x-mapped-models, perhaps legacy code? mappedModels appears to do the same thing.
Also add default implementation for quality of life
* chore: update samples
---------
Co-authored-by: Nikita Puzankov <git@bshn.rs>
Executing the command from the README file should allow the user to run the application. Without the proposed changes either the error message `Error loading ASGI app. Could not import module "main".` or `ModuleNotFoundError: No module named 'openapi_server'` is being returned.
It's reported by phpstan as `Dynamic call to static method PHPUnit\Framework\Assert::markTestIncomplete().`.
The method is static, therefore it should not be called from instance context.
- `selectHeadersForMultipart()` does not exist,
- therefore we have to call `selectHeaders()`
This is signature of `public function selectHeaders(array $accept, string $contentType, bool $isMultipart): array;`
We have to pass `$multipart` as 3rd parameter.
The second parameter is content type as string, not in array.
The EOL is missing so let's add it in order to comply with POSIX standard:
Line
> A sequence of zero or more non- <newline> characters plus a terminating <newline> character.
Include API info in RestConfiguration for java-camel-server mustache template to prevent warning on startup as OpenAPI information can't be created otherwise.
The previous link no longer worked, so I've updated it to the latest
version of the TypeScript handbook.
Signed-off-by: Lucian Buzzo <lucian.buzzo@gmail.com>
* php-dt update:
- bump minimal required PHP version to 7.4 (8.1 for modern mode)
- bump minimal required DataTransfer version to 0.6
- support for date / date-time string lists and maps
- support for request and response bodies with date / date-time string schema
- minimal file string support
* docs update
* Update model_generic.mustache, tuple notation breaks when there is only one element in the tuple
In this excerpt of the mustache template, the matching behaviour is bugged when there is only one element in the tuple notation. A single string with the tuple notation, e.g., `("string")`, will result in a string, and when values are compared with the string, it will do a `contains` match instead of an exact match, which is unintended behaviour.
* Update with samples, step 3
* Add test spec and regenerate samples
* Update samples
* Update spec and samples
* update samples
---------
Co-authored-by: Edmund Loo <edmundloo@users.noreply.github.com>
Co-authored-by: Edmund Loo <github.yn0u9@simplelogin.com>
* fix: handle variables that have items that contain a complexType of `time.Time` properly
Signed-off-by: Paul Horton <phorton@sonatype.com>
* chore: trigger new CI runs
Signed-off-by: Paul Horton <phorton@sonatype.com>
* test: added test change an regenerated samples
Signed-off-by: Paul Horton <phorton@sonatype.com>
* resolved merge issues with upstream main
Signed-off-by: Paul Horton <phorton@sonatype.com>
* regenerated samples
Signed-off-by: Paul Horton <phorton@sonatype.com>
---------
Signed-off-by: Paul Horton <phorton@sonatype.com>
* add lombok model support on spring
* use regex to adapt annotation with parenthesis
* add ut case
* add samples
* add samples
* fix github workflow
* fix github workflow
* Add serialVersionUID to Java apiException.mustache templates
* Use 'enable()' and 'disable()' methods to handle object mapper features in JSON.mustache for the "native" Java generator instead of the deprecated 'configure()'
* Update samples
This class with the optional OpenAPIDefinition annotations is now generated always.
And no longer only when the interfaceOnly is set to false (default).
This commit fixes an issue where the object mapper is not passed to the JacksonConverterFactory. The issue causing the serialization to fail when passing to the ApiClient a pre-configured mapper object (e.g. the primary bean of SpringBoot).
With this fix, the bean would be correctly passed to the factory, and the serialization would work "out of the box" for the pre-configured bean.
* Added option to mustache template that allows passing of non JSON request bodies
* Used linux terminal to run the generator scripts
---------
Co-authored-by: mHejlesen <mads.hejlesen@secata.com>
* Fixed invalid extraction of response body in kotlin-client jvm-spring-*
* Generated echo-api for kotlin-jvm-spring-3-restclient
* Specific echo-api for Kotlin without allOf/anyOf
* Specific echo-api for Kotlin without allOf/anyOf
* Generated all samples
* Added kotlin-jvm-spring-3-restclient sample to workflow
* Fixed syntax problem
* test(perl): Update test plan to use done_testing
close#14921
* fixup! test(perl): Update test plan to use done_testing
results of "./bin/generate-samples.sh ./bin/configs/perl.yaml"
* fixup! test(perl): Update test plan to use done_testing
regenerate samples
---------
Co-authored-by: William E Little Jr <13027375-bmodotdev@users.noreply.gitlab.com>
* feat: add `java-wiremock` generator
* remove text block usage for samples
this will allow more version of jav to be compatible with this
* fix extra parenthesis
* Add java-wiremock workflow
* chore: Remove leftover Github action file
This was probably added by mistake. A similar file is active in
.github/workflows/samples-python-pydantic-v1-petstore.yaml.
* chore: Remove leftover VERSION from old python-experimental sample
* ci: Stop running Python integration tests in Circle CI
These Python clients are all tested with Github Actions already, which
is faster, more cleanly separated and only runs on modifications.
I'm not cleaning up the pydantic-v1 client, I expect it to be removed soon anyway.
* chore: Remove true from sample folder name
python-disallowAdditionalPropertiesIfNotPresent-true
-> python-disallowAdditionalPropertiesIfNotPresent
* kotlin-server: Add support for Javalin
* kotlin-server: Add Javalin generated sample code
* Add output from build scripts
* Address MR feedback
* Update CI to include new Javalin sample
* Uses ParseQuery to check for malform paramater value pairs.
Runs ./mvnw clean package, ./bin/generate-samples.sh ./bin/configs/*.yaml, and ./bin/utils/export_docs_generators.sh.
* Adds missing import
* Only import url if hasQueryParams.
* Adds helper function to wrap url.ParseQuery.
* Fixes function return signature
Because the requirements file does not limit connexion version to below
3.0, with release of connexion 3.0 the openapi server startup sequence
runs into a module not found issue.
This contraint is preventing that.
The DefaultCodegen now iterates through all api operations.
This allows to access different examples based on the response per status code and content type.
When an example was specified for a property with the `date` format, it's example would be generated to something like `2024-01-01T00:00:00.000+00:00` or `Sat Jan 30 01:00:00 CET 2021`.
It's because the resolved type for a Date example is a DateSchema, and a DateSchema uses `java.util.Date` to represents the Date. Which gets printed using .toString() not in the YYYY-MM-dd format.
Fixes#17494#15342
* fix: ExampleGenerator correctly generates allOf composed schemas
Changes the previous behavior of generating `null` examples for allOf composed schemas.
Fixes#17497
* fix: ExampleGenerator correctly generates anyOf and oneOf composed schemas
Changes the previous behavior of generating `null` examples for anyOf and oneOf composed schemas.
To generate a oneOf/anyOf example, we generate the example using the first valid schema available. In case of a $ref, we use the first valid reference.
Fixes#17497
* python: adjust basic typing information
This is an initial pass to fix and adjust the typing information for the
generated client. This is enough to have mypy runnning without complains
on all the (modern) generated clients (Pydantic v1 code is not checked
for instance)
mypy is also now run directly in the CI, so further changes will also be
checked and thus, will need to be compliant with good typing
information.
Note that this doesn't *fully* type all the code: mypy is not run in
"strict" mode and there are still many functions/methods/attributes
which are still not fully typed, but it's a first good step in that
direction.
* ApiResponse's raw_data can't be None
* Fix indentation
* Revert test changes
* run mypy on tests/ directory
* don't forcefully convert the client response headers to dict
* override petstore ApiResponse model
* adjust type of 'any/one_of_schemas' fields
* fix #16797 and #15796 spring child constructor missing parent params
* root cause and update the DefaultCodegen.java to add missing property when with multi inheritance
* rollback SpringCodegen.java
* update samples
* rollback with master cause #16992 fixed this issue too
* still using orignal design
* catchup master
* catchup master
* catchup master
* fix
* add tests
---------
Co-authored-by: dabdirb <dabdirb@gmail.com>
in rest template, when the retry limits exceeded
rethrow the original exception
also add 429 (Too many requests) status code to the
retry logic
fix#17478
In #16624, I introduced a new mechanism to record imports to other
modules, instead of having specialized datetime/typing/pydantic objects
to manage imports for these modules.
This change reuses the mechanism from #16624 and replace the specialized
import managers by the generic one. Unused imports from various
.mustache templates are also cleaned up.
* also escape '$' and '\' in normal Kotlin strings, …
* rename `lambdaEscapeDoubleQuote` to `lambdaEscapeInNormalString`
* escape `$` and `\` in `@RequestMapping` annotation `value` property
* Fix decoding OpenAPIDateWithoutTime which in previous implementation only worked when used with CodableHelper, because it encoded to String, but tried to decode from Date afterwards
* update samples
* Update OpenAPIDateWithoutTime.mustache
* Update sample projects
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Bruno Coelho <4brunu@users.noreply.github.com>
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
* updating test to use the Java RESTEasy echo api client (#17367)
* regenerated samples
* set source and target to 1.8 to fix workflow failure, adapted parser
* update template for required field validation when additional properties are not allowed
* regenerate samples
* move bytes import from template to GoClientCodegen
* regenerate samples
* add test for model with required fields and additionalProperties: false
* Set remote build cache to push only if authenticated
* Bumped Gradle enterprise extension to 1.20 and CCUD extension to 1.12.5
* Removed duplicated <storeEnabled> line from gradle-enterprise.xml
* Removed addressed comment
* Add missing Jackson converter for Retrofit
This commit adds the missing configuration for a ApiClient so all Jackson serializations will start to work correctly.
* Add sample project code for Retrofit Jackson
* Add check for input if is Map type
* Update Pet samples
* Add PetApi support for filter by Pet property
* Clean up
* update samples
* remove manual test
---------
Co-authored-by: ameenhaq <ameenhaq79@gmail.com>
* fix(java): fix URI inner enum for gson
* fix(java): fix URI enum for gson
* fix(java): fix URI enum for microprofile
* fix(java): fix URI import for native enum
* fix(java): add tests for URI enum
* fix: change indent style to tab in the mustache to generate Go code
* docs: standardize the language names for code blocks
* docs: change indent style to tab in the code blocks
* update: regenerate samples
* `./bin/generate-samples.sh ./bin/configs/*.yaml`
* Ruby Client for Faraday: fix file downloading
In MR #16876, a bug was introduced that causes file downloading to fail
for the Faraday adapter.
This commit fixes the obvious missing parameter for the method
call to download_file() and the missing variable `request` for saving the
response value of the call to build_request().
Signed-off-by: Daniel Schnell <dschnell@grammatek.com>
* Add automatically generated changes.
---------
Signed-off-by: Daniel Schnell <dschnell@grammatek.com>
* Fix broken link to csharp-netcore generator
The example source URL of the csharp-netcore generator pointed to the master version of the repo, but the generator has been renamed or removed and the URL is broken. I updated the link to the latest pre 5.0.0 version, since the text talks about pre 5.0.0 version of the openapi generator.
* Update link to point to csharp generator
* Add optional parameter for request body
* Adapt Test
* Add test
* Format code
* Remove extra method
* Add optional for pojos
* Add optional for pojos
* Add bean validation for Optional
* Add default values + test
* Rename test
This was removed in #16802, but using a higher value than 1,
or at least making this configurable makes complete sense.
Without this, we get a lot of these log messages:
[ WARNING] Connection pool is full, discarding connection:
* [cpp-qt-client] pass QString by const reference instead of by value
* Add another signal instead of changing its signature
* Bump qt version
* Fix CODEOWNERS
* Try to fix workflow
* use v3
* Remove openssl from windows build
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* check args to fn new for uniqueItems
* Added model with unique items for template testing
* build the project and update samples
* Removed testcase from fake petstore spec
* allow multiple auth methods of same type
* allow multiple auth methods of same type
* allow multiple headers to have api keys
* removed commneted code
* fixed all but standard
* fixed standard
* allow multiple auth methods of same type
* allow multiple auth methods of same type
* allow multiple headers to have api keys
* remove changes for another pr
* resolved conflicts, build samples
* fixed a casing issue
* fixed casing issue
* Adds basic retries to API requests
* This mimics the basic retries performed by urllib3 in the sync version
* update samples
* Only use retry client if number of retries is specified in the config
* Reorganize
* Remove class attribute
* close retry_client
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
Trying to generate Kotlin code for CookieAuth will result in a malformed
ApiClient.kt for function updateAuthParams. The code block has a closing
bracket too much.
Co-authored-by: Christian Bay <christian.bay@posteo.net>
* Delete sample folders of discontinued clients
* Remove duplicate python-flask server sample
The python-flask sample actually lives in samples/server/petstore/python-flask.
* Move hand-written test to "tests" folder
Now, "test" only contains generated stubs and all hand-written tests are in "tests".
* Delete left-over files in Python samples
These are not created by the generators (anymore) and not hand-written
for testing.
* Regenerate test file to fix import error
* Fix clippy errors (rustc 1.73.0)
* Add feature docker-in-docker
* Fix mapping of "date"
See issue #9769
The type
type: string
format: date
was mapped to DateTime<Utc> which violates the OpenAPI spec
see https://swagger.io/docs/specification/data-models/data-types/
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapitools/openapi-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapitools/openapi-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
:bangbang: To migrate from Swagger Codegen to OpenAPI Generator, please refer to the [migration guide](docs/migration-from-swagger-codegen.md) :bangbang:
@@ -64,6 +64,12 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
@@ -78,7 +84,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
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.
@@ -701,6 +710,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Splitit](https://www.splitit.com/)
- [Stingray](http://www.stingray.com)
- [Suva](https://www.suva.ch/)
- [Svix](https://www.svix.com/)
- [Telstra](https://dev.telstra.com)
- [Tencent](https://www.tencent.com)
- [The University of Aizu](https://www.u-aizu.ac.jp/en/)
@@ -895,6 +905,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2022-04-06 - [Effective Software Development using OpenAPI Generator](https://apexlabs.ai/post/openapi-generator) by Ajil Oommen (Senior Flutter Developer)
- 2022-05-13 - [A Path From an API To Client Libraries](https://www.youtube.com/watch?v=XC8oVn_efTw) by [Filip Srnec](https://www.devoxx.co.uk/talk/?id=11211) at Infobip
- 2022-06-01 - [API First, using OpenAPI and Spring Boot](https://medium.com/xgeeks/api-first-using-openapi-and-spring-boot-2602c04bb0d3) by [Micael Estrázulas Vianna](https://estrazulas.medium.com/)
- 2022-06-10 - [Autogenerating Clients with FastAPI and Github Actions](https://www.propelauth.com/post/autogenerating-clients-with-fastapi-and-github-actions) by [Andrew Israel](https://www.propelauth.com/author/andrew)
- 2022-06-12 - [Mustache templates with OpenAPI specs](https://medium.com/geekculture/mustache-templates-with-openapi-specs-f24711c67dec) by [Beppe Catanese](https://github.com/gcatanese)
- 2022-07-01 - [Generate API contract using OpenAPI Generator Maven plugin](https://huongdanjava.com/generate-api-contract-using-openapi-generator-maven-plugin.html) by [Khanh Nguyen](https://huongdanjava.com/)
- 2022-07-22 - [使用OpenAPI Generator Maven plugin开发api优先的java客户端和服务端代码](https://blog.roccoshi.top/2022/java/openapi-generator%E7%9A%84%E4%BD%BF%E7%94%A8/) by [Lincest](https://github.com/Lincest)
@@ -917,6 +928,9 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2023-06-28 - [Generate API contract using OpenAPI Generator Maven plugin](https://huongdanjava.com/generate-api-contract-using-openapi-generator-maven-plugin.html) by [Khanh Nguyen](https://huongdanjava.com/)
- 2023-06-30 - [Generate Client SDKs with OpenApi Generator in Springboot](https://medium.com/@ramavathvinayak/generate-client-sdks-with-openapi-generator-in-springboot-f9f012e73c0b) by [Vinayak Ramavath](https://medium.com/@ramavathvinayak)
- 2023-12-10 - [UnityでOpenAPI Generatorを使う](https://www.youtube.com/watch?v=CbNwKVV5LRM) by [Soup Tori](https://www.youtube.com/@souptori8417)
- 2024-03-04 - [Generating TypeScript Types with OpenAPI for REST API Consumption](https://www.pullrequest.com/blog/generating-typescript-types-with-openapi-for-rest-api-consumption/) by [PullRequest](https://www.pullrequest.com/)
- 2024-03-07 - [Fully typed Web Apps with OpenAPI (Part 1)](https://medium.com/@gfox1984/fully-typed-web-apps-with-openapi-part-1-595d55766670) by [Guillaume Renard](https://medium.com/@gfox1984)
## [6 - About Us](#table-of-contents)
@@ -996,6 +1010,7 @@ Here is a list of template creators:
* Kotlin (MultiPlatform): @andrewemery
* Kotlin (Volley): @alisters
* Kotlin (jvm-spring-webclient): @stefankoppier
* Kotlin (jvm-spring-restclient): @stefankoppier
* Lua: @daurnimator
* N4JS: @mmews-n4
* Nim: @hokamoto
@@ -1017,6 +1032,7 @@ Here is a list of template creators:
* Scala (Akka): @cchafer
* Scala (sttp): @chameleon82
* Scala (sttp4): @flsh86
* Scala (Pekko): @mickaelmagniez
* Swift: @tkqubo
* Swift 3: @hexelon
* Swift 4: @ehyche
@@ -1102,8 +1118,9 @@ Here is a list of template creators:
- dotnet test samples\client\petstore\csharp\OpenAPIClientCoreAndNet47\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (httpclient)
- dotnet test samples\client\petstore\csharp\OpenAPIClient-httpclient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (generichost)
- dotnet test samples\client\petstore\csharp\OpenAPIClient-generichost-netstandard2.0\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (netcore)
- dotnet test samples\client\petstore\csharp\OpenAPIClientCore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
#- dotnet test samples\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API client (.net framework 4.7)
- dotnet test samples\client\petstore\csharp\OpenAPIClient-net47\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API client (.net framework 4.8)
- dotnet test samples\client\petstore\csharp\OpenAPIClient-net48\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API client (.net 7.0)
- dotnet test samples\client\petstore\csharp\OpenAPIClient-net7.0\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API Client using conditional-serialization
- dotnet test samples\client\petstore\csharp\OpenAPIClient-ConditionalSerialization\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\AllOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\AnyOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\AnyOfNoCompare\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\FormModels\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\ManualSourceGenerationTests\ManualTests.Latest.UseSourceGeneration\ManualTests.Latest.UseSourceGeneration.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\ManualPetstoreTests\OpenAPIClient-generichost-manual-tests\OpenAPIClient-generichost-manual-tests.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\NullReferenceTypes\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\OneOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\SourceGeneration\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\net8\UseDateTimeForDate\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\standard2.0\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\httpclient\standard2.0\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net4.7\MultipleFrameworks\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net4.7\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net4.8\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net6\ParameterMappings\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net7\EnumMappings\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net7\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\net7\UseDateTimeForDate\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\standard2.0\ConditionalSerialization\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\restsharp\standard2.0\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
### TODO: Execute all generators via powershell or other
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.