* 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>
* 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
* #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: 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>
* 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
* [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
* 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 -> {}