* moved service api into shared source
* moved service api into shared source
* This Scala cask change makes the service traits available to
Both JVM and JS platforms.
It does this by moving the api interfaces into the cross-platform
Shared sources
* Added authentication via Bearer-token api_key and basic for server and client
* Improved errorhandling
* Added check on oAuth audience to example
* Updates of the petstore files for Rust-server
* Moved module import to prevent issue in callbacks
* updated samples
* Fix for unused-qualifications issue
* updated sampmles
* [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>
* upgrade resteasy to junit5
* fix echo_api tests
* updated gradle/sbt/pom and generated samples with bin/generate-samples.sh
* fix xml syntax error
* forgot to run generate-samples.sh
* fix: Respect `disableValidator` CLI option
Setting the `disableValidator` option to `true` used to generate
validation code but avoid calling it from the route handlers.
This generated invalid code in some cases.
This commit renders the `server-operation-validate` only, when the
`disableValidator` option is set to false (the default value).
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
* test: Add integration test
This integration tests provokes the generation of code that would
not compile (see #18580). The new change that makes sure validation
logic is not rendered when disabled, makes sure the faulty code is not
generated and therefore the project compiles.
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
* fix: Fix uuid in header params causing errors
Routes with header parameters with a `format` of `uuid` in the openAPI
specification used to cause a compilation error in the resulting
Rust Axum code.
This commit fixes the issue by including the correct conversion trait
implementation on the condition that at least one header parameter of
`format` `uuid` is included in the specification.
* refactor: Add final to boolean
* fix: Bring str::FromStr optionally into scope
The trait needs to be in scope for the TryFrom implementation:
`TryFrom<HeaderValue> for IntoHeaderValue<uuid::Uuid> `
It will only be brought into scope when the implementation is rendered.
* test: Add integration test and its specification
This commit adds an integration test that tests the bug fix for #18554.
A header parameter of `format: uuid` is included in one route.
This makes the example create a route handler that tries to extract a
Rust `uuid::Uuid` type from the header. The integration test will check
that the generated code compiles.
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
Most example projects have their version numbers bumped. Some changes
show, that there are some other unrelated changes to the files, which
indicates that some prior commit did not update the samples accordingly.
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
When components/schema/<object> reference other objects, validate() was
getting called on the referenced objects with no arguments. The return
value was void, but checked as if it was a boolean value.
* [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>
* Fix generation of remove method for map entries
Map::remove in java removes entries by key, therefore the key must be used as parameter.
* Fix generation of remove method for map entries
Map::remove in java removes entries by key, therefore the key must be used as parameter.
---------
Co-authored-by: Reinhard Handler <reinhard.handler@ssi-schaefer.com>
* refactor: move closure definition to own statement
A clippy lint recommends not using a closure inside of a statement.
The code generation used to produce code that triggered this warning,
which caused the rust-server integration test to fail because clippy is
configured to return lint violations as errors.
For details for the lint see:
https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions
* refactor: Remove unnecessary qualification
A GitHub action test used to fail because of a clippy warning that was
emitted due to not using an imported symbol but qualifying its use.
A failed test can be seen here:
https://github.com/OpenAPITools/openapi-generator/actions/runs/8958257509/job/24603984954?pr=18563
With the relevant error being:
error: unnecessary qualification
--> output/openapi-v3/src/client/callbacks.rs:88:9
|
88 | futures::future::ok(Service::new(
This commit simply removes the qualification.
* test: Update examples and run integration test.
Updated examples by running
`./bin/generate-samples.sh ./bin/configs/rust-server-*`
The integration test with the following command passes:
`mvn integration-test -f samples/server/petstore/rust-server/pom.xml`
* [kotlin] Target correct library in jvm-spring-webclient sample
* [kotlin] Fixed warning in jvm-spring-restclient
* [kotlin-client] Bump Gradle version
* [kotlin-client] enableFeaturePreview no longer needed as it's enabled by default
* [kotlin-client] Bump kotlin, spotless, and reactor versions
* [kotlin-client] Generated code
* [kotlin-client] Missed a generated sample
* [kotlin-client] Bumped gradle and java version in kotlin-client workflows
* [kotlin-client] First attempt to fix jvm-volley
* [kotlin-client] Use standard gradle action instead of custom one
* [kotlin-client] Use original gradlew action but without specific version
* [kotlin-client] Moved sample kotlin-spring-cloud to servers instead of clients
* [kotlin-client] Added previously missing generated file
* [kotlin-client] Corrected sample path
* [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
Currently when a parsing rule of a field is not respected (eg: min/max
value, required, ...), the api only returns an error message without
providing the field name to help the user to fix the request. This commit
add the field name to the error message to help the user of the API.
* fix imports with go generation
* Wrong copy over
* Missing new line
* tab vs space
* Fix new line between router and std go libs
* Add both use case, add samples to CI validation
* Update samples