* [Kotlin] Add a new additional property to configure Jackson's `failOnUnknownProperties`
Default to false
* [Kotlin] Unconditionally import `com.fasterxml.jackson.databind.DeserializationFeature`
* [Kotlin] Refactor and add test
* Upgrade erlang-server code generation and fix is_authorized crashes
* Introduce structured logging
* Improve general formatting
* Update generated files
* Enable erlang server on CI
* Add echo-server testing to CI
* Require OTP27 explicitly in the generated rebar.config file
* Rework handler and API
With this work, json validation becomes optional, fully implemented in
the `_api` module as it was before, but without being forcibly called by
the `_handler`. It is instead left as optional for the user to take
advantage of the exposed callbacks. Jesse also chooses draft-06 as a
default, but these can be chosen manually by the user too, as long as
jesse implements them.
`_handler` also becomes lighter, it now handles all mime types
transparently by forwarding to a user-given module that must implement
`accept_callback/4` and `provide_callback/4` as described in the
`_logic_handler` callbacks. These will simply be the return values of
cowboy_rest's `content_types_accepted` and `content_types_provided`
respectively, and should simply comply with their defined APIs. They
only get two parameters extending the behaviour, so that the user-given
callback can pattern-match on them: the path prefix of the logic
handler, and the operationID of the call.
* Fix return types for provide_callbacks
* Upgrade jesse to incur no dependencies
The less dependencies the built code requires the better.
* Fix dialyzer errors in the generated code
* Apply stronger dialyzer checks
* feat (JAVA SPRING RESTCLIENT) 19406: Add single request parameter for Spring RestClient
Closes#19406
* chore (JAVA SPRING RESTCLIENT) 19406: Add new sample to jdk 17 tests
* fix (JAVA SPRING RESTCLIENT) 19406: Fix sample build
* [Java] Add a new additional property to configure Jackson's `failOnUnknownProperties`
* Move `FAIL_ON_UNKNOWN_PROPERTIES` property to JavaClientCodegen
* Template `FAIL_ON_UNKNOWN_PROPERTIES` for other libraries beside retrofit2
* Default `failOnUnknownProperties` to false for all Java Client libraries
* Fix integration tests
Add the `failOnUnknownProperties: true` additional properties to generate the
expected mapper
* Save work-in-progress
* Incoming param handling generating well exc. for file upload
* Revise generated test for v3 vs v4 differences
* Leave details of multi-part handling to the user for now
* change default version to use the highest version known
* SE client changes for Helidon 4
* A few fixes; add new v4 SE samples
* Fix v3/v4 routing prep
* Improve version handling if web site is inaccessible; add test
* Reworking parameter conversion and required and validation handling
* Add generation of a return value record per response for each operation
* Improvements to the result record generation
* More changes
* Remove change in whitespace in v3 output
* More progress on parameter handling
* WIP - refactor parameter-returning methods to inner class along with return records
* Reorg of op helpers
* Use no-op for handling map in path, query, header, cookie - need to revise later
* Binary form param handling
* Clean-up and consistency check bt useAbstractClass and not
* Improve result builders
* Add new samples files
* Fix a few issues
* Update samples after rebase; add build steps for v3 and v4 uac github actions
* Remove v3 se useAbstractClass test - creates some bad code
* Generated doc updates
* Fix missing newline
* Improve Javadoc for generated Result; add convenience Result.send method
* Add bean val. for body param if needed
* Restructure generated records for declared responses; add Generated annotation selectively
* Fix typo
* In sample generation, force a stable generatorVersion value to avoid confusing builds and up-to-date samples checking
* Fix up white space in older generation
* Generate PartsUtils only with useAbstractClass = true
* Adopt some review comments; more to come
* Review comments; notably, switch to using the first path segment to group operations rather than the tags items
* Improve status handling a bit
* Add new generated sample files
* Add missing new samples files
* Quite a few updates, esp. to generated samples
* New config file for sample
* Updates samples
* Add updates to .openapi-generator/FILES contents
* use default values for required vars when available
* update tests to existing config file
* cleanup OAS test
* Remove setting value in Get.
* Use Pascal Case for variable naming in Getter Function
* add a CLI option
* add a CLI option
* add a CLI option
* fix#19211 kotlin-spring flag delegatePattern together with skipDefaultInterface generates broken code
* add kotlin-springboot-delegate-nodefaults to the workflow
* fix Platform declaration clash
* move kotlin-springboot-delegate-nodefaults to the kotlin-server-jdk17 file
* fixed empty line
* feat(typescript-axios): allow configuration of axios version
* docs(typescript-axios): add readme docs for axiosVersion config option
* test(typescript-axios): add unit tests for custom axios version
* docs(typescript-axios): fix up typescript-axios generator docs
* [kotlin-server][javalin6] Add Javalin 6 support
Javalin 5 support was added in 13edc5d. Javalin 6 has been released, with some breaking changes. Let's add a new supportedLibrary to not break existing users of Javalin 5.
https://javalin.io/migration-guide-javalin-5-to-6
* Fix Gradle config and don't include JVM 8 CI anymore (JVM 11 is the minimum for Javalin)
* Update docs
* Fix optional query parameter handling and turn into expected type
* feat/typescript-angular/add-v17-support
* HTTP_TRANSFER_CACHE_IN_OPTIONS for angular 17 as well
* run build scripts again because of angular 17 HTTP_TRANSFER_CACHE_IN_OPTIONS
* fixed parameter ordering
* placed changes behind a switch
* bug fix
* minor revert
* use lombok.Setter
* addressed comment
* lint
* minor refactor
* massively improve csharp templates code
improved apiclient.mustache to keep it dry, sharing a single exec with Action<> delegate.
improved api.mustache to keep it dry, used chain constructors, kept RequestOptions in a single method, set configuration with alias directive
moved fqn types to using directive for cleaner code
removed 'this' from variables/props that are redundant
fix CSharpClientDeepObjectTest code is now DRY so count must only be one
* updated test samples csharp
* removed async from ExecAsync (not needed here anymore)
* updated samples csharp
* nullable property not working on models due to not being defined in yaml schema
updated samples
* added options
* rebuild tests
* revert unintended commits
* rebuild samples
* rebuild samples
* rererebuild samples
* fix manual tests
---------
Co-authored-by: filipe <filipe_ds@live.com.pt>
* Format Elixir generator
* Update Elixir reserved words
* Update Elixir generator docs
* Improve typespec generation to avoid double ".t" issues
* Fix compilation warnings by changing reserved words to use suffix instead of underscore prefix
* Include additional reserved words and handle words with leading underscores
* Update samples and docs
* Uses dataType instead of baseType for non-struct types
* Generate elixir samples
* Fixes issue with AnyType in a list
* Generate elixir samples
* Removes normalizeTypeName for arrays as they correct by getTypeDeclaration
* CodeStyle
---------
Co-authored-by: Michael Ramstein <michael@ramste.in>
* Implement test for uniqueness of CliOptions across all generators
* Refactor existing test to use @DataProvider and fluent assertion
* Remove extraneous cliOption definition for disallowAdditionalPropertiesIfNotPresent
This is already defined (matching exactly in all aspects) in DefaultCodegen.
Resolves#18810
* Avoid variable declaration & assignment when only used once
* Add additional uniqueness tests for all DefaultCodegen List<> members
Test uniqueness for lists of:
- supportingFiles
- supportedLibraries
- supportedVendorExtensions
* Disable AllGeneratorsTest.noDuplicateSupportingFiles for the time being
Re-enable when #18831 is fixed
* Generate updated python-fastapi docs
* Drop separate version property
Not required as all Jackson packages usually tether on a version bump.
* Update Jackson to v2.17.1
* Sync Jackson version used by Spring Boot with project version
* Sync jackson update to v2.17.1 with generator templates
* Regenerate samples with updated versions
* Adjust test to current exception msg behavior
* Add dependency mgmt to ensure matching version for transitive dependencies
* Update library descriptions with correct Jackson version number
* Update library descriptions with correct GSON and JSONB versions
* Update retrofit library description with correct version number
* Update retrofit description to include Jackson as an option
This should have been done as part of in #16853.
* Update remaining libary version descriptions with correct versions
* Generate updated doc
* [cpp-restsdk] add support for oneOf via std::variant
* [cpp-restsdk] detect the latest supported C++ standard in CMake
* [cpp-restsdk] add test with oneOf support for cpprest
* [cpp-restsdk] avoid warnings because of implicit this capture
* [cpp-restsdk] avoid deprecated CMake version warnings
* [cpp-restsdk] build the test into the build directory - parallel build
* [cpprest-sdk] use absolute source path for cmake + debug build
* fix: remove inheritance due to template not overriding
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [kotlin] Target correct library in jvm-spring-webclient sample
* [kotlin] Fixed warning in jvm-spring-restclient
* [kotlin-wiremock] added generator and sample
* [kotlin-wiremock] First version with petstore
* [kotlin-wiremock] Small typo
* [kotlin-wiremock] Added echo-api test
* [kotlin-wiremock] Split stub and stub builder
* [kotlin-wiremock] Added default values and jackson annotations to models
* [kotlin-wiremock] Small default value fix
* [kotlin-wiremock] Use Gradle wrapper version in samples-kotlin-server GitHub workflow
* [kotlin-wiremock] Added default artifact name
* [kotlin-wiremock] Added kotlin docs
* [kotlin-wiremock] Fixed capitalization in kotlin docs
* [kotlin-wiremock] Added kotlin-wiremock echo_api sample to GitHub workflow
* [kotlin-wiremock] Added new generator to README.md
* [kotlin-wiremock] Generated docs
* [kotlin-wiremock] Generated docs (missed commit)
* [kotlin-wiremock] Explicit Gradle wrapper version in kotlin server generators
* Revert "[kotlin-wiremock] Explicit Gradle wrapper version in kotlin server generators"
This reverts commit 71e1c47def93fdcb9c7e4efe999fc34e21d7518c.
* [kotlin-wiremock] Revert Gradle in workflow samples-kotlin-server and moved kotlin-wiremock samples to separate workflow
* [kotlin-wiremock] Use Java 11 instead of Java 8
* [kotlin-wiremock] ensure-up-to-date
- Handling `std::set` in cpp-restdsk
- Member variables using `std:set` added to `Pet` in cpp-restsdk 3.0 Petstore sample
[cpp-pistache-server] taking into account a remark on this issue about cpp-pistache-server and its set management
- Switching `std::vector` to `std::set` for openapi set type in cpp-pistache-server
* Add support for Helidon 4 MP client and server generation
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Rerun samples generation trying to fix spring jobs
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Update copyright
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Correct the copyright notice
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
---------
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* [Java/Microprofile] Add support for Jackson serialization & async interfaces using Mutiny in Java Microprofile library
* Regenerate samples & docs
* Add server generator
* Update client to set configKey by classname
* Remove debug remains and comments
* Adapt method override to upstream changes
* Regenerate samples
* Revert "Regenerate samples"
This reverts commit b5bcbdea90c71a2819a3ea6339c3878f249f97b4.
* Move additional 2xx response to dedicated OpenAPI document
Some other generators than those for Micronaut don't seem to be able to
handle this case, so we don't add it to the general pet store document.
* Make filename consistent with other files in the folder
* Regenerate Microprofile client and server samples
* Generate samples
* Update documentation
* Generate samples
* Remove left-over `*.orig` files from Git merges
* Regenerate samples
* Regenerated samples
* changed generator name to "java-microprofile"
* added the new folder to .github/workflows/samples-java-server-jdk8.yaml so that CI will test it moving forward
* Renamed JavaMicroprofileServerCodegen.java
* regenerated samples
* only enable configKeyFromClassName if configKey is not set
* Updated documentation
* Change samples to use junit 4
* Fix junit 4 test classes
* run ensure up-to-date script
* fix kotlin test errors
---------
Co-authored-by: pravussum <pravussum@users.noreply.github.com>
Co-authored-by: frank <frank.buechel@kiwigrid.com>
Co-authored-by: Oscar <oscar.obrien@kiwigrid.com>
Co-authored-by: oscarobr <133783370+oscarobr@users.noreply.github.com>
* [BUG] [C++][Pistache] cpp-pistache-server generating API include undefined "Object.h" (#2769)
Should handle Object.h, AnyType.h correctly. Set.h also tested.
- #include Object.h removed and replaced by a typeMapping.put(object, nlohmann::json) like suggested in other issues
- object had an invalid syntax: ':' instead of '::' in types with namespace
- extra include of #include nlohmann/json.h removed when there's already #include <nlohmann/json.hpp>
- nlohmann::json is excluded from model namespace
Tested with custom petstore played, with suggested openapi specs coming from issues #2769, #10266, #14234
```bash
rm -rf samples/server/petstore/cpp-pistache-everything/ && ./bin/generate-samples.sh ./bin/configs/cpp-pistache-server-cpp-pistache-everything.yaml && cd samples/server/petstore/cpp-pistache-everything/ && mkdir build && cd build && cmake .. && cmake --build . --parallel
```
* - Adding to samples/server/petstore cpp-pistache-everything
* - .md and FILES missing