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/
* refactor: Clean up _response_types_map formatting
It matches black's behavior of having trailing commas now.
* test: Add test to reproduce #16967
* fix: deserialize responses even if no returnType
Closes#16967
* refactor: Simplify ApiException subclasses
* refactor: Move exception subtype choice to ApiException
* feat: Deserialize error responses and add to exceptions
* test: Add for error responses with model
For model classes with model_something fields, pydantic raises a warning by default:
`Field "model_something" has conflict with protected namespace "model_".`.
These warnings make no sense here, because most users of the generator have established APIs
that they cannot change to conform to pydantic's safety rules.
Pydantic will raise an error if we ever conflict with a current attribute like `model_dump`.
* Update base image of Dockerfile
* Make github workflow "Docker tests" manually triggerable
* Don't possibly downgrade TLS version
* Update Dockerimage in ``run-in-docker.sh``
* Use Maven's non interactive mode inside workflow
* Don't spam log
* Use java 17
because it won't compile with 21
* Removed hard memory limit
as memory should be controlled by the container
* Update hub dockerfiles
<enabled>true</enabled><!-- must be true for this experiment -->
<storeEnabled>#{env['CI'] != null}</storeEnabled><!-- adjust to an env var that is always present only in your CI environment -->
<!-- Check credentials presence to avoid build cache errors on PR builds when credentials are not present -->
<storeEnabled>#{isTrue(env['CI']) and isTrue(env['GRADLE_ENTERPRISE_CACHE_USERNAME']) and isTrue(env['GRADLE_ENTERPRISE_CACHE_PASSWORD'])}</storeEnabled>
: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,7 @@ 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 +79,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.
- 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)
## [6 - About Us](#table-of-contents)
@@ -996,6 +1001,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 +1023,7 @@ Here is a list of template creators:
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.