mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-07 03:06:09 +00:00
Compare commits
36 Commits
gradle-rel
...
parser-res
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b352c2d00 | ||
|
|
991883636f | ||
|
|
3ef45f1b4d | ||
|
|
7e439fd0bd | ||
|
|
63df7ca574 | ||
|
|
98b315c137 | ||
|
|
a809c187b4 | ||
|
|
d966f1234d | ||
|
|
6fdb632fb9 | ||
|
|
c7542dea3e | ||
|
|
66dfad2b09 | ||
|
|
9e5e4b1fd4 | ||
|
|
2af194b014 | ||
|
|
65773a9024 | ||
|
|
311233d804 | ||
|
|
b444de2b5c | ||
|
|
d0327b2683 | ||
|
|
af6ab0ed0e | ||
|
|
050dcae3ab | ||
|
|
e948355127 | ||
|
|
7c57c55194 | ||
|
|
a5f638fefd | ||
|
|
0e67c3a5ad | ||
|
|
43fa1b736a | ||
|
|
304b3cbcaa | ||
|
|
d7a74849f2 | ||
|
|
c0dc9c63d0 | ||
|
|
03effd7d05 | ||
|
|
d11d008e71 | ||
|
|
b6b71cd4da | ||
|
|
6b5fd6e622 | ||
|
|
c010c89915 | ||
|
|
b05604dab7 | ||
|
|
cfe476f32d | ||
|
|
d911a71be9 | ||
|
|
046be5dba1 |
@@ -71,6 +71,7 @@ jobs:
|
||||
- samples/client/petstore/java/microprofile-rest-client-mutiny
|
||||
- samples/client/petstore/java/microprofile-rest-client-3.0
|
||||
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson
|
||||
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-mutiny
|
||||
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-with-xml
|
||||
- samples/client/petstore/java/microprofile-rest-client-3.0-mutiny
|
||||
- samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
|
||||
@@ -133,4 +134,4 @@ jobs:
|
||||
- name: Build with Gradle
|
||||
working-directory: ${{ matrix.sample }}
|
||||
if: ${{ hashFiles('./gradlew') != '' }}
|
||||
run: ./gradlew build -x test
|
||||
run: ./gradlew build -x test
|
||||
|
||||
42
.github/workflows/samples-rust.yaml
vendored
42
.github/workflows/samples-rust.yaml
vendored
@@ -26,12 +26,54 @@ jobs:
|
||||
- samples/client/others/rust/
|
||||
- samples/client/petstore/rust/
|
||||
- samples/server/petstore/rust-server/
|
||||
- samples/server/petstore/rust-server-deprecated/
|
||||
- samples/server/petstore/rust-axum/
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
|
||||
- name: Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
cache-targets: false # Don't cache workspace target directories as they don't exist
|
||||
cache-directories:
|
||||
${{ matrix.sample }}/target
|
||||
workspaces: |
|
||||
${{ matrix.sample }}/output/*
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: cargo build --all-targets --all-features
|
||||
- name: Tests
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: |
|
||||
set -e
|
||||
# Skip samples/client/petstore/rust/ as it's tests are failing.
|
||||
if [[ "${{ matrix.sample }}" == "samples/client/petstore/rust/" ]]; then
|
||||
echo "Skipping tests for samples/client/petstore/rust/"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Iterate through each example and test various features
|
||||
for package in $(find . -maxdepth 1 -mindepth 1 -type d)
|
||||
do
|
||||
# Not all versions have a client example
|
||||
if test -f examples/client/main.rs; then
|
||||
cargo build --example client --features="client"
|
||||
fi
|
||||
# Not all versions have a server example
|
||||
if test -f examples/server/main.rs; then
|
||||
cargo build --example server --features="server"
|
||||
fi
|
||||
# Test the CLI works if present
|
||||
if test -f bin/cli.rs; then
|
||||
cargo build --bin ${package##*/} --features cli
|
||||
target/debug/${package##*/} --help
|
||||
fi
|
||||
cargo fmt
|
||||
cargo test
|
||||
cargo clippy
|
||||
cargo doc
|
||||
done
|
||||
|
||||
3
.github/workflows/samples-spring-jdk17.yaml
vendored
3
.github/workflows/samples-spring-jdk17.yaml
vendored
@@ -10,6 +10,7 @@ on:
|
||||
- samples/server/petstore/springboot-lombok-tostring
|
||||
- samples/server/petstore/springboot-file-delegate-optional
|
||||
- samples/server/petstore/springboot-petstore-with-api-response-examples
|
||||
- samples/server/petstore/spring-boot-oneof-sealed
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
|
||||
@@ -19,6 +20,7 @@ on:
|
||||
- samples/server/petstore/springboot-lombok-tostring
|
||||
- samples/server/petstore/springboot-file-delegate-optional
|
||||
- samples/server/petstore/springboot-petstore-with-api-response-examples
|
||||
- samples/server/petstore/spring-boot-oneof-sealed
|
||||
jobs:
|
||||
build:
|
||||
name: Build Java Spring (JDK17)
|
||||
@@ -36,6 +38,7 @@ jobs:
|
||||
- samples/server/petstore/springboot-lombok-tostring
|
||||
- samples/server/petstore/springboot-file-delegate-optional
|
||||
- samples/server/petstore/springboot-petstore-with-api-response-examples
|
||||
- samples/server/petstore/spring-boot-oneof-sealed
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
|
||||
19
README.md
19
README.md
@@ -15,7 +15,7 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.14.0`):
|
||||
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.15.0`):
|
||||
[](https://app.travis-ci.com/github/OpenAPITools/openapi-generator/builds)
|
||||
[](https://circleci.com/gh/OpenAPITools/openapi-generator)
|
||||
[](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
|
||||
@@ -76,6 +76,7 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
|
||||
[<img src="https://openapi-generator.tech/img/companies/clickit.jpg" width="128" height="128">](https://www.clickittech.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
[<img src="https://openapi-generator.tech/img/companies/unified_to.jpg" width="128" height="128">](https://unified.to/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
[<img src="https://openapi-generator.tech/img/companies/savetwt.jpg" width="128" height="128">](https://savetwt.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
[<img src="https://openapi-generator.tech/img/companies/serpapi.png" width="128" height="128">](https://serpapi.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
|
||||
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
|
||||
|
||||
@@ -149,8 +150,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
|
||||
|
||||
| OpenAPI Generator Version | Release Date | Notes |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
|
||||
| 7.14.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.14.0-SNAPSHOT/) | 29.05.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [7.13.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.13.0) (latest stable release) | 27.04.2025 | Minor release with breaking changes (with fallback) |
|
||||
| 7.15.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.15.0-SNAPSHOT/) | 29.07.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [7.14.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.14.0) (latest stable release) | 25.06.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [6.6.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.6.0) | 11.05.2023 | Minor release with breaking changes (with fallback) |
|
||||
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) | 31.01.2022 | Minor release with breaking changes (with fallback) |
|
||||
| [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) |
|
||||
@@ -213,16 +214,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o
|
||||
<!-- RELEASE_VERSION -->
|
||||
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 11 runtime at a minimum):
|
||||
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar`
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar`
|
||||
|
||||
For **Mac/Linux** users:
|
||||
```sh
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar -O openapi-generator-cli.jar
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar -O openapi-generator-cli.jar
|
||||
```
|
||||
|
||||
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.
|
||||
```
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar
|
||||
```
|
||||
|
||||
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
|
||||
@@ -457,7 +458,7 @@ openapi-generator-cli version
|
||||
To use a specific version of "openapi-generator-cli"
|
||||
|
||||
```sh
|
||||
openapi-generator-cli version-manager set 7.13.0
|
||||
openapi-generator-cli version-manager set 7.14.0
|
||||
```
|
||||
|
||||
Or install it as dev-dependency:
|
||||
@@ -481,7 +482,7 @@ pip install openapi-generator-cli
|
||||
|
||||
To install a specific version
|
||||
```
|
||||
pip install openapi-generator-cli==7.13.0
|
||||
pip install openapi-generator-cli==7.14.0
|
||||
```
|
||||
|
||||
You can also install with [jdk4py](https://github.com/activeviam/jdk4py) instead of java binary. (python>=3.10 is required)
|
||||
@@ -507,7 +508,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
|
||||
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
|
||||
|
||||
<!-- RELEASE_VERSION -->
|
||||
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar)
|
||||
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar)
|
||||
<!-- /RELEASE_VERSION -->
|
||||
|
||||
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
|
||||
|
||||
8
bin/configs/dart-dio-binary-response.yaml
Normal file
8
bin/configs/dart-dio-binary-response.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: dart-dio
|
||||
outputDir: samples/openapi3/client/petstore/dart-dio/binary_response
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/issue_20682.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
enumUnknownDefaultCase: "true"
|
||||
serializationLibrary: "json_serializable"
|
||||
@@ -1,6 +1,6 @@
|
||||
generatorName: dart-dio
|
||||
outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
|
||||
typeMappings:
|
||||
Client: "ModelClient"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
generatorName: dart-dio
|
||||
outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
|
||||
typeMappings:
|
||||
Client: "ModelClient"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
generatorName: dart
|
||||
outputDir: samples/openapi3/client/petstore/dart2/petstore_client_lib_fake
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/dart2
|
||||
typeMappings:
|
||||
Client: "ModelClient"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
generatorName: java
|
||||
outputDir: samples/client/petstore/java/microprofile-rest-client-3.0-jackson-mutiny
|
||||
library: microprofile
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/Java
|
||||
additionalProperties:
|
||||
serializationLibrary: jackson
|
||||
artifactId: microprofile-rest-client-3-jackson-mutiny
|
||||
configKey: petstore
|
||||
microprofileRestClientVersion: "3.0"
|
||||
microprofileMutiny: true
|
||||
hideGenerationTimestamp: true
|
||||
8
bin/configs/rust-server-deprecated-multipart-v3.yaml
Normal file
8
bin/configs/rust-server-deprecated-multipart-v3.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/multipart-v3
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/multipart-v3.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: multipart-v3
|
||||
8
bin/configs/rust-server-deprecated-no-example-v3.yaml
Normal file
8
bin/configs/rust-server-deprecated-no-example-v3.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/no-example-v3
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/no-example-v3.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: no-example-v3
|
||||
8
bin/configs/rust-server-deprecated-openapi-v3.yaml
Normal file
8
bin/configs/rust-server-deprecated-openapi-v3.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/openapi-v3
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/openapi-v3.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: openapi-v3
|
||||
8
bin/configs/rust-server-deprecated-ops-v3.yaml
Normal file
8
bin/configs/rust-server-deprecated-ops-v3.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/ops-v3
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/ops-v3.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: ops-v3
|
||||
@@ -0,0 +1,9 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/petstore-with-fake-endpoints-models-for-testing
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/rust-server/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: petstore-with-fake-endpoints-models-for-testing
|
||||
publishRustRegistry: crates-io
|
||||
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/ping-bearer-auth
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/ping-bearer-auth.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: ping-bearer-auth
|
||||
8
bin/configs/rust-server-deprecated-test.yaml
Normal file
8
bin/configs/rust-server-deprecated-test.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust-server-deprecated
|
||||
outputDir: samples/server/petstore/rust-server-deprecated/output/rust-server-test
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/rust-server/rust-server-test.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust-server-deprecated
|
||||
generateAliasAsModel: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
packageName: rust-server-test
|
||||
@@ -1,6 +1,6 @@
|
||||
generatorName: scala-http4s-server
|
||||
outputDir: samples/server/petstore/scala-http4s-server
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/scala-http4s-server/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/scala-http4s-server
|
||||
additionalProperties:
|
||||
artifactId: openapi-scala-http4s-server
|
||||
artifactId: openapi-scala-http4s-server
|
||||
|
||||
13
bin/configs/spring-boot-oneof-sealed.yaml
Normal file
13
bin/configs/spring-boot-oneof-sealed.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
generatorName: spring
|
||||
outputDir: samples/openapi3/server/petstore/spring-boot-oneof-sealed
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneof_polymorphism_and_inheritance.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
|
||||
additionalProperties:
|
||||
groupId: org.openapitools.openapi3
|
||||
documentationProvider: springdoc
|
||||
artifactId: springboot-oneof-sealed
|
||||
snapshotVersion: "true"
|
||||
hideGenerationTimestamp: "true"
|
||||
generateBuilders: true
|
||||
useOneOfInterfaces: true
|
||||
useSealed: true
|
||||
@@ -1,6 +1,6 @@
|
||||
generatorName: typescript
|
||||
outputDir: samples/client/echo_api/typescript/build
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/typescript/echo_api.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript
|
||||
additionalProperties:
|
||||
artifactId: echo-api-typescript
|
||||
|
||||
@@ -142,6 +142,7 @@ The following generators are available:
|
||||
* [ruby-sinatra](generators/ruby-sinatra.md)
|
||||
* [rust-axum (beta)](generators/rust-axum.md)
|
||||
* [rust-server](generators/rust-server.md)
|
||||
* [rust-server-deprecated](generators/rust-server-deprecated.md)
|
||||
* [scala-akka-http-server (beta)](generators/scala-akka-http-server.md)
|
||||
* [scala-cask](generators/scala-cask.md)
|
||||
* [scala-finch](generators/scala-finch.md)
|
||||
|
||||
@@ -58,6 +58,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|
||||
|generateBuilders|Whether to generate builders for models| |false|
|
||||
|generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false|
|
||||
|generateGenericResponseEntity|Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. If enabled, method are generated with return type ResponseEntity<?>| |false|
|
||||
|generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true|
|
||||
|groupId|groupId in generated pom.xml| |org.openapitools|
|
||||
|hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false|
|
||||
|
||||
232
docs/generators/rust-server-deprecated.md
Normal file
232
docs/generators/rust-server-deprecated.md
Normal file
@@ -0,0 +1,232 @@
|
||||
---
|
||||
title: Documentation for the rust-server-deprecated Generator
|
||||
---
|
||||
|
||||
## METADATA
|
||||
|
||||
| Property | Value | Notes |
|
||||
| -------- | ----- | ----- |
|
||||
| generator name | rust-server-deprecated | pass this to the generate command after -g |
|
||||
| generator stability | STABLE | |
|
||||
| generator type | SERVER | |
|
||||
| generator language | Rust | |
|
||||
| generator default templating engine | mustache | |
|
||||
| helpTxt | Generates a Rust Hyper/Tower server library based on hyper 0.14. Also generates a matching Hyper client library within the same crate that implements the same trait. | |
|
||||
|
||||
## CONFIG OPTIONS
|
||||
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
|
||||
|
||||
| Option | Description | Values | Default |
|
||||
| ------ | ----------- | ------ | ------- |
|
||||
|packageName|Rust crate name (convention: snake_case).| |openapi_client|
|
||||
|packageVersion|Rust crate version.| |null|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
| Type/Alias | Imports |
|
||||
| ---------- | ------- |
|
||||
|
||||
|
||||
## INSTANTIATION TYPES
|
||||
|
||||
| Type/Alias | Instantiated By |
|
||||
| ---------- | --------------- |
|
||||
|array|Vec|
|
||||
|map|std::collections::HashMap|
|
||||
|
||||
|
||||
## LANGUAGE PRIMITIVES
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>String</li>
|
||||
<li>bool</li>
|
||||
<li>char</li>
|
||||
<li>f32</li>
|
||||
<li>f64</li>
|
||||
<li>i16</li>
|
||||
<li>i32</li>
|
||||
<li>i64</li>
|
||||
<li>i8</li>
|
||||
<li>isize</li>
|
||||
<li>str</li>
|
||||
<li>u16</li>
|
||||
<li>u32</li>
|
||||
<li>u64</li>
|
||||
<li>u8</li>
|
||||
<li>usize</li>
|
||||
</ul>
|
||||
|
||||
## RESERVED WORDS
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Self</li>
|
||||
<li>abstract</li>
|
||||
<li>as</li>
|
||||
<li>async</li>
|
||||
<li>await</li>
|
||||
<li>become</li>
|
||||
<li>box</li>
|
||||
<li>break</li>
|
||||
<li>const</li>
|
||||
<li>continue</li>
|
||||
<li>crate</li>
|
||||
<li>do</li>
|
||||
<li>dyn</li>
|
||||
<li>else</li>
|
||||
<li>enum</li>
|
||||
<li>extern</li>
|
||||
<li>false</li>
|
||||
<li>final</li>
|
||||
<li>fn</li>
|
||||
<li>for</li>
|
||||
<li>if</li>
|
||||
<li>impl</li>
|
||||
<li>in</li>
|
||||
<li>let</li>
|
||||
<li>loop</li>
|
||||
<li>macro</li>
|
||||
<li>match</li>
|
||||
<li>mod</li>
|
||||
<li>move</li>
|
||||
<li>mut</li>
|
||||
<li>override</li>
|
||||
<li>priv</li>
|
||||
<li>pub</li>
|
||||
<li>ref</li>
|
||||
<li>return</li>
|
||||
<li>self</li>
|
||||
<li>static</li>
|
||||
<li>struct</li>
|
||||
<li>super</li>
|
||||
<li>trait</li>
|
||||
<li>true</li>
|
||||
<li>try</li>
|
||||
<li>type</li>
|
||||
<li>typeof</li>
|
||||
<li>unsafe</li>
|
||||
<li>unsized</li>
|
||||
<li>use</li>
|
||||
<li>virtual</li>
|
||||
<li>where</li>
|
||||
<li>while</li>
|
||||
<li>yield</li>
|
||||
</ul>
|
||||
|
||||
## FEATURE SET
|
||||
|
||||
|
||||
### Client Modification Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|BasePath|✓|ToolingExtension
|
||||
|Authorizations|✗|ToolingExtension
|
||||
|UserAgent|✗|ToolingExtension
|
||||
|MockServer|✗|ToolingExtension
|
||||
|
||||
### Data Type Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|Custom|✗|OAS2,OAS3
|
||||
|Int32|✓|OAS2,OAS3
|
||||
|Int64|✓|OAS2,OAS3
|
||||
|Float|✓|OAS2,OAS3
|
||||
|Double|✓|OAS2,OAS3
|
||||
|Decimal|✓|ToolingExtension
|
||||
|String|✓|OAS2,OAS3
|
||||
|Byte|✓|OAS2,OAS3
|
||||
|Binary|✓|OAS2,OAS3
|
||||
|Boolean|✓|OAS2,OAS3
|
||||
|Date|✓|OAS2,OAS3
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|Object|✓|OAS2,OAS3
|
||||
|Maps|✓|ToolingExtension
|
||||
|CollectionFormat|✓|OAS2
|
||||
|CollectionFormatMulti|✓|OAS2
|
||||
|Enum|✓|OAS2,OAS3
|
||||
|ArrayOfEnum|✓|ToolingExtension
|
||||
|ArrayOfModel|✓|ToolingExtension
|
||||
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension
|
||||
|ArrayOfCollectionOfModel|✓|ToolingExtension
|
||||
|ArrayOfCollectionOfEnum|✓|ToolingExtension
|
||||
|MapOfEnum|✓|ToolingExtension
|
||||
|MapOfModel|✓|ToolingExtension
|
||||
|MapOfCollectionOfPrimitives|✓|ToolingExtension
|
||||
|MapOfCollectionOfModel|✓|ToolingExtension
|
||||
|MapOfCollectionOfEnum|✓|ToolingExtension
|
||||
|
||||
### Documentation Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|Readme|✓|ToolingExtension
|
||||
|Model|✓|ToolingExtension
|
||||
|Api|✓|ToolingExtension
|
||||
|
||||
### Global Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|Host|✓|OAS2,OAS3
|
||||
|BasePath|✓|OAS2,OAS3
|
||||
|Info|✓|OAS2,OAS3
|
||||
|Schemes|✗|OAS2,OAS3
|
||||
|PartialSchemes|✓|OAS2,OAS3
|
||||
|Consumes|✓|OAS2
|
||||
|Produces|✓|OAS2
|
||||
|ExternalDocumentation|✓|OAS2,OAS3
|
||||
|Examples|✓|OAS2,OAS3
|
||||
|XMLStructureDefinitions|✗|OAS2,OAS3
|
||||
|MultiServer|✗|OAS3
|
||||
|ParameterizedServer|✗|OAS3
|
||||
|ParameterStyling|✗|OAS3
|
||||
|Callbacks|✓|OAS3
|
||||
|LinkObjects|✗|OAS3
|
||||
|
||||
### Parameter Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|Path|✓|OAS2,OAS3
|
||||
|Query|✓|OAS2,OAS3
|
||||
|Header|✓|OAS2,OAS3
|
||||
|Body|✓|OAS2
|
||||
|FormUnencoded|✓|OAS2
|
||||
|FormMultipart|✓|OAS2
|
||||
|Cookie|✗|OAS3
|
||||
|
||||
### Schema Support Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|Simple|✓|OAS2,OAS3
|
||||
|Composite|✓|OAS2,OAS3
|
||||
|Polymorphism|✗|OAS2,OAS3
|
||||
|Union|✗|OAS3
|
||||
|allOf|✗|OAS2,OAS3
|
||||
|anyOf|✗|OAS3
|
||||
|oneOf|✗|OAS3
|
||||
|not|✗|OAS3
|
||||
|
||||
### Security Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|BasicAuth|✓|OAS2,OAS3
|
||||
|ApiKey|✓|OAS2,OAS3
|
||||
|OpenIDConnect|✗|OAS3
|
||||
|BearerToken|✓|OAS3
|
||||
|OAuth2_Implicit|✓|OAS2,OAS3
|
||||
|OAuth2_Password|✗|OAS2,OAS3
|
||||
|OAuth2_ClientCredentials|✗|OAS2,OAS3
|
||||
|OAuth2_AuthorizationCode|✗|OAS2,OAS3
|
||||
|SignatureAuth|✗|OAS3
|
||||
|AWSV4Signature|✗|ToolingExtension
|
||||
|
||||
### Wire Format Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|JSON|✓|OAS2,OAS3
|
||||
|XML|✓|OAS2,OAS3
|
||||
|PROTOBUF|✗|ToolingExtension
|
||||
|Custom|✓|OAS2,OAS3
|
||||
@@ -51,6 +51,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|
||||
|generateBuilders|Whether to generate builders for models| |false|
|
||||
|generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false|
|
||||
|generateGenericResponseEntity|Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. If enabled, method are generated with return type ResponseEntity<?>| |false|
|
||||
|generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true|
|
||||
|groupId|groupId in generated pom.xml| |org.openapitools|
|
||||
|hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false|
|
||||
|
||||
@@ -75,20 +75,42 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Blob</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -55,19 +55,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -66,19 +66,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -66,19 +66,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -60,20 +60,42 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Blob</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -57,19 +57,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -66,20 +66,42 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Blob</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -56,23 +56,45 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Buffer</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>ReadStream</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>RequestDetailedFile</li>
|
||||
<li>RequestFile</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -58,19 +58,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -57,20 +57,42 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Blob</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -63,19 +63,41 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Array</li>
|
||||
<li>Awaited</li>
|
||||
<li>Boolean</li>
|
||||
<li>Capitalize</li>
|
||||
<li>ConstructorParameters</li>
|
||||
<li>Date</li>
|
||||
<li>Double</li>
|
||||
<li>Error</li>
|
||||
<li>Exclude</li>
|
||||
<li>Extract</li>
|
||||
<li>File</li>
|
||||
<li>Float</li>
|
||||
<li>InstanceType</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Lowercase</li>
|
||||
<li>Map</li>
|
||||
<li>NoInfer</li>
|
||||
<li>NonNullable</li>
|
||||
<li>Object</li>
|
||||
<li>Omit</li>
|
||||
<li>OmitThisParameter</li>
|
||||
<li>Parameters</li>
|
||||
<li>Partial</li>
|
||||
<li>Pick</li>
|
||||
<li>Readonly</li>
|
||||
<li>ReadonlyArray</li>
|
||||
<li>Record</li>
|
||||
<li>Required</li>
|
||||
<li>ReturnType</li>
|
||||
<li>Set</li>
|
||||
<li>String</li>
|
||||
<li>ThisParameterType</li>
|
||||
<li>ThisType</li>
|
||||
<li>Uncapitalize</li>
|
||||
<li>Uppercase</li>
|
||||
<li>any</li>
|
||||
<li>boolean</li>
|
||||
<li>number</li>
|
||||
|
||||
@@ -22,7 +22,7 @@ npm install @openapitools/openapi-generator-cli -g
|
||||
To install a specific version of the tool, pass the version during installation:
|
||||
<!-- RELEASE_VERSION -->
|
||||
```bash
|
||||
openapi-generator-cli version-manager set 7.12.0
|
||||
openapi-generator-cli version-manager set 7.14.0
|
||||
```
|
||||
<!-- /RELEASE_VERSION -->
|
||||
To install the tool as a dev dependency in your current project:
|
||||
@@ -119,18 +119,18 @@ docker run --rm \
|
||||
<!-- RELEASE_VERSION -->
|
||||
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 11 runtime at a minimum):
|
||||
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar`
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar`
|
||||
|
||||
For **Mac/Linux** users:
|
||||
|
||||
```bash
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar -O openapi-generator-cli.jar
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar -O openapi-generator-cli.jar
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
```powershell
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar
|
||||
```
|
||||
<!-- /RELEASE_VERSION -->
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
|
||||
<plugin>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<version>7.12.0</version>
|
||||
<version>7.14.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -162,7 +162,7 @@ public class Generate extends OpenApiGeneratorCommand {
|
||||
|
||||
@Option(
|
||||
name = {"--openapi-generator-ignore-list"},
|
||||
title = ".openapi-generaotr-ignore list",
|
||||
title = ".openapi-generator-ignore list",
|
||||
description = "specifies entries in the .openapi-generator-ignore file relative/path/to/file1,relative/path/to/file2. For example: README.md,pom.xml"
|
||||
+ " You can also have multiple occurrences of this option.")
|
||||
private List<String> openapiGeneratorIgnoreList = new ArrayList<>();
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -97,7 +97,7 @@ task validateGoodSpec(type: org.openapitools.generator.gradle.plugin.tasks.Valid
|
||||
[source,group]
|
||||
----
|
||||
plugins {
|
||||
id "org.openapi.generator" version "7.12.0"
|
||||
id "org.openapi.generator" version "7.14.0"
|
||||
}
|
||||
----
|
||||
|
||||
@@ -113,7 +113,7 @@ buildscript {
|
||||
// url "https://plugins.gradle.org/m2/"
|
||||
}
|
||||
dependencies {
|
||||
classpath "org.openapitools:openapi-generator-gradle-plugin:7.10.0"
|
||||
classpath "org.openapitools:openapi-generator-gradle-plugin:7.14.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -759,7 +759,7 @@ buildscript {
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath('org.openapitools:openapi-generator-gradle-plugin:7.10.0') {
|
||||
classpath('org.openapitools:openapi-generator-gradle-plugin:7.14.0') {
|
||||
exclude group: 'com.google.guava'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# RELEASE_VERSION
|
||||
openApiGeneratorVersion=7.14.0
|
||||
openApiGeneratorVersion=7.15.0-SNAPSHOT
|
||||
# /RELEASE_VERSION
|
||||
|
||||
# BEGIN placeholders
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -19,5 +19,5 @@ gradle generateGoWithInvalidSpec # expected outcome: BUILD FAILED
|
||||
The samples can be tested against other versions of the plugin using the `openApiGeneratorVersion` property. For example:
|
||||
|
||||
```bash
|
||||
gradle -PopenApiGeneratorVersion=7.12.0 openApiValidate
|
||||
gradle -PopenApiGeneratorVersion=7.14.0 openApiValidate
|
||||
```
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# RELEASE_VERSION
|
||||
openApiGeneratorVersion=7.14.0
|
||||
openApiGeneratorVersion=7.15.0-SNAPSHOT
|
||||
# /RELEASE_VERSION
|
||||
|
||||
@@ -12,7 +12,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.12.0</version>
|
||||
<version>7.14.0</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.14.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -54,6 +54,7 @@ import org.openapitools.codegen.examples.ExampleGenerator;
|
||||
import org.openapitools.codegen.languages.PhpNextgenClientCodegen;
|
||||
import org.openapitools.codegen.languages.RustAxumServerCodegen;
|
||||
import org.openapitools.codegen.languages.RustServerCodegen;
|
||||
import org.openapitools.codegen.languages.RustServerCodegenDeprecated;
|
||||
import org.openapitools.codegen.meta.FeatureSet;
|
||||
import org.openapitools.codegen.meta.GeneratorMetadata;
|
||||
import org.openapitools.codegen.meta.Stability;
|
||||
@@ -3681,7 +3682,8 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
if (ModelUtils.isComposedSchema(schema) && !this.getLegacyDiscriminatorBehavior()) {
|
||||
List<MappedModel> otherDescendants = getOneOfAnyOfDescendants(schemaName, discriminatorPropertyName, schema);
|
||||
for (MappedModel otherDescendant : otherDescendants) {
|
||||
if (!uniqueDescendants.contains(otherDescendant)) {
|
||||
// add only if the model names are not the same
|
||||
if (uniqueDescendants.stream().map(MappedModel::getModelName).noneMatch(it -> it.equals(otherDescendant.getModelName()))) {
|
||||
uniqueDescendants.add(otherDescendant);
|
||||
}
|
||||
}
|
||||
@@ -5328,7 +5330,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
parameterSchema = unaliasSchema(parameter.getSchema());
|
||||
parameterModelName = getParameterDataType(parameter, parameterSchema);
|
||||
CodegenProperty prop;
|
||||
if (this instanceof RustServerCodegen) {
|
||||
if (this instanceof RustServerCodegen || this instanceof RustServerCodegenDeprecated) {
|
||||
// for rust server, we need to do something special as it uses
|
||||
// $ref (e.g. #components/schemas/Pet) to determine whether it's a model
|
||||
prop = fromProperty(parameter.getName(), parameterSchema, false);
|
||||
|
||||
@@ -572,7 +572,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
|
||||
if (value.isEmpty()) {
|
||||
modified = "EMPTY";
|
||||
} else {
|
||||
modified = value;
|
||||
modified = value.replaceAll("-", "_");
|
||||
modified = sanitizeKotlinSpecificNames(modified);
|
||||
}
|
||||
|
||||
|
||||
@@ -183,8 +183,8 @@ public abstract class AbstractRustCodegen extends DefaultCodegen implements Code
|
||||
throw new IllegalArgumentException("Unknown CasingType");
|
||||
}
|
||||
|
||||
// Replace hyphens with underscores
|
||||
name = name.replaceAll("-", "_");
|
||||
// Replace hyphens and periods with underscores
|
||||
name = name.replaceAll("[\\.\\-]", "_");
|
||||
|
||||
// Apply special character escapes, e.g. "@type" => "At_type"
|
||||
// Remove the trailing underscore if necessary
|
||||
|
||||
@@ -304,6 +304,14 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
|
||||
// Typescript reserved words
|
||||
"abstract", "await", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", "implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "super", "switch", "synchronized", "this", "throw", "transient", "true", "try", "typeof", "var", "void", "volatile", "while", "with", "yield"));
|
||||
|
||||
Set<String> utilityTypes = new HashSet<>(Arrays.asList(
|
||||
"Awaited","Partial","Required","Readonly","Record","Pick","Omit","Exclude","Extract","NonNullable",
|
||||
"Parameters","ConstructorParameters","ReturnType","InstanceType","NoInfer","ThisParameterType",
|
||||
"OmitThisParameter","ThisType","Uppercase","Lowercase","Capitalize","Uncapitalize")
|
||||
);
|
||||
defaultIncludes = new HashSet<>();
|
||||
defaultIncludes.addAll(utilityTypes);
|
||||
|
||||
languageSpecificPrimitives = new HashSet<>(Arrays.asList(
|
||||
"string",
|
||||
"String",
|
||||
@@ -325,6 +333,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
|
||||
"object",
|
||||
"Set"
|
||||
));
|
||||
languageSpecificPrimitives.addAll(utilityTypes);
|
||||
|
||||
languageGenericTypes = new HashSet<>(Collections.singletonList(
|
||||
"Array"
|
||||
@@ -805,7 +814,8 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
|
||||
return openAPIType;
|
||||
} else if (typeMapping.containsKey(openAPIType)) {
|
||||
type = typeMapping.get(openAPIType);
|
||||
if (languageSpecificPrimitives.contains(type)) {
|
||||
String typeWithoutGeneric = typeWithoutGeneric(type);
|
||||
if (languageSpecificPrimitives.contains(typeWithoutGeneric)) {
|
||||
return type;
|
||||
}
|
||||
} else {
|
||||
@@ -1157,6 +1167,16 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
|
||||
}).distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean needToImport(String type) {
|
||||
return super.needToImport(typeWithoutGeneric(type));
|
||||
}
|
||||
|
||||
private String typeWithoutGeneric(String type) {
|
||||
int genericIndex = type.indexOf("<");
|
||||
return genericIndex == -1 ? type : type.substring(0, genericIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratorLanguage generatorLanguage() {
|
||||
return GeneratorLanguage.TYPESCRIPT;
|
||||
|
||||
@@ -670,6 +670,17 @@ public class DartDioClientCodegen extends AbstractDartCodegen {
|
||||
op.imports.remove("Uint8List");
|
||||
}
|
||||
|
||||
if (SERIALIZATION_LIBRARY_JSON_SERIALIZABLE.equals(library)) {
|
||||
// built_value serialization uses Uint8List for all MultipartFile types
|
||||
// in json_serialization, MultipartFile is used as the file parameter type, but
|
||||
// MultipartFile isn't readable, instead we convert this to a Uin8List
|
||||
if (op.isResponseFile) {
|
||||
op.imports.add("Uint8List");
|
||||
op.returnType = "Uint8List";
|
||||
op.returnBaseType = "Uint8List";
|
||||
}
|
||||
}
|
||||
|
||||
resultImports.addAll(rewriteImports(op.imports, false));
|
||||
|
||||
if (SERIALIZATION_LIBRARY_BUILT_VALUE.equals(library)) {
|
||||
|
||||
@@ -615,6 +615,13 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
||||
supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java"));
|
||||
supportingFiles.add(new SupportingFile("AbstractOpenApiSchema.mustache", modelsFolder, "AbstractOpenApiSchema.java"));
|
||||
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
|
||||
|
||||
// Composed schemas can have the 'additionalProperties' keyword, as specified in JSON schema.
|
||||
// In principle, this should be enabled by default for all code generators. However due to limitations
|
||||
// in other code generators, support needs to be enabled on a case-by-case basis.
|
||||
// The flag below should be set for all Java libraries, but the templates need to be ported
|
||||
// one by one for each library.
|
||||
supportsAdditionalPropertiesWithComposedSchema = true;
|
||||
} else if (libRestEasy) {
|
||||
supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java"));
|
||||
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
|
||||
@@ -702,6 +709,15 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
||||
additionalProperties.put("jsonbPolymorphism", true);
|
||||
}
|
||||
}
|
||||
|
||||
if (getSerializationLibrary().equals(SERIALIZATION_LIBRARY_JACKSON)) {
|
||||
// Composed schemas can have the 'additionalProperties' keyword, as specified in JSON schema.
|
||||
// In principle, this should be enabled by default for all code generators. However due to limitations
|
||||
// in other code generators, support needs to be enabled on a case-by-case basis.
|
||||
// The flag below should be set for all Java libraries, but the templates need to be ported
|
||||
// one by one for each library.
|
||||
supportsAdditionalPropertiesWithComposedSchema = true;
|
||||
}
|
||||
} else if (libApache) {
|
||||
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
|
||||
} else {
|
||||
@@ -1230,11 +1246,13 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
||||
|
||||
@Override
|
||||
public void addImportsToOneOfInterface(List<Map<String, String>> imports) {
|
||||
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
|
||||
Map<String, String> oneImport = new HashMap<>();
|
||||
oneImport.put("import", importMapping.get(i));
|
||||
if (!imports.contains(oneImport)) {
|
||||
imports.add(oneImport);
|
||||
if(additionalProperties.containsKey(SERIALIZATION_LIBRARY_JACKSON)) {
|
||||
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
|
||||
Map<String, String> oneImport = new HashMap<>();
|
||||
oneImport.put("import", importMapping.get(i));
|
||||
if (!imports.contains(oneImport)) {
|
||||
imports.add(oneImport);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -479,11 +479,13 @@ public class JavaHelidonClientCodegen extends JavaHelidonCommonCodegen {
|
||||
|
||||
@Override
|
||||
public void addImportsToOneOfInterface(List<Map<String, String>> imports) {
|
||||
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
|
||||
Map<String, String> oneImport = new HashMap<>();
|
||||
oneImport.put("import", importMapping.get(i));
|
||||
if (!imports.contains(oneImport)) {
|
||||
imports.add(oneImport);
|
||||
if(additionalProperties.containsKey(SERIALIZATION_LIBRARY_JACKSON)) {
|
||||
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
|
||||
Map<String, String> oneImport = new HashMap<>();
|
||||
oneImport.put("import", importMapping.get(i));
|
||||
if (!imports.contains(oneImport)) {
|
||||
imports.add(oneImport);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import java.net.URL;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.openapitools.codegen.utils.StringUtils.camelize;
|
||||
import static org.openapitools.codegen.utils.StringUtils.underscore;
|
||||
@@ -222,7 +223,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
|
||||
*/
|
||||
supportingFiles.add(new SupportingFile("openapi.mustache", "api", "openapi.yaml"));
|
||||
supportingFiles.add(new SupportingFile("Cargo.mustache", "", "Cargo.toml"));
|
||||
supportingFiles.add(new SupportingFile("cargo-config", ".cargo", "config"));
|
||||
supportingFiles.add(new SupportingFile("cargo-config", ".cargo", "config.toml"));
|
||||
supportingFiles.add(new SupportingFile("gitignore", "", ".gitignore"));
|
||||
supportingFiles.add(new SupportingFile("lib.mustache", "src", "lib.rs"));
|
||||
supportingFiles.add(new SupportingFile("context.mustache", "src", "context.rs"));
|
||||
@@ -1531,7 +1532,16 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
|
||||
}
|
||||
} else if (param.isArray) {
|
||||
param.vendorExtensions.put("x-format-string", "{:?}");
|
||||
example = (param.example != null) ? param.example : "&Vec::new()";
|
||||
if (param.items.isString) {
|
||||
// We iterate through the list of string and ensure they end up in the format vec!["example".to_string()]
|
||||
example = (param.example != null)
|
||||
? "&vec![" + Arrays.stream(param.example.replace("[", "").replace("]", "").split(","))
|
||||
.map(item -> item + ".to_string()")
|
||||
.collect(Collectors.joining(", ")) + "]"
|
||||
: "&Vec::new()";
|
||||
} else {
|
||||
example = (param.example != null) ? param.example : "&Vec::new()";
|
||||
}
|
||||
} else {
|
||||
param.vendorExtensions.put("x-format-string", "{:?}");
|
||||
if (param.example != null) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -807,12 +807,12 @@ public class ScalaHttp4sServerCodegen extends DefaultCodegen implements CodegenC
|
||||
|
||||
if (_vendorExtensions.size() == 1) { // only `x-type`
|
||||
if ("String".equals(cp.getDataType())) {
|
||||
return cp.baseName;
|
||||
return cp.paramName;
|
||||
} else {
|
||||
return cp.dataType + "Varr(" + cp.baseName + ")";
|
||||
return cp.dataType + "Varr(" + cp.paramName + ")";
|
||||
}
|
||||
} else {
|
||||
return cp.baseName + "Varr(" + cp.baseName + ")";
|
||||
return cp.baseName + "Varr(" + cp.paramName + ")";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -844,7 +844,7 @@ public class ScalaHttp4sServerCodegen extends DefaultCodegen implements CodegenC
|
||||
}
|
||||
|
||||
vendorExtensions.putAll(refineProp(cp, imports));
|
||||
return cp.baseName + "QueryParam(" + cp.baseName + ")";
|
||||
return cp.baseName + "QueryParam(" + cp.paramName + ")";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -90,6 +90,7 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
public static final String RETURN_SUCCESS_CODE = "returnSuccessCode";
|
||||
public static final String UNHANDLED_EXCEPTION_HANDLING = "unhandledException";
|
||||
public static final String USE_RESPONSE_ENTITY = "useResponseEntity";
|
||||
public static final String GENERATE_GENERIC_RESPONSE_ENTITY = "generateGenericResponseEntity";
|
||||
public static final String USE_ENUM_CASE_INSENSITIVE = "useEnumCaseInsensitive";
|
||||
public static final String USE_SPRING_BOOT3 = "useSpringBoot3";
|
||||
public static final String REQUEST_MAPPING_OPTION = "requestMappingMode";
|
||||
@@ -147,6 +148,7 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
@Setter protected boolean useSpringController = false;
|
||||
protected boolean useSwaggerUI = true;
|
||||
@Setter protected boolean useResponseEntity = true;
|
||||
@Setter protected boolean generateGenericResponseEntity = false;
|
||||
@Setter protected boolean useEnumCaseInsensitive = false;
|
||||
@Getter @Setter
|
||||
protected boolean useSpringBoot3 = false;
|
||||
@@ -256,6 +258,10 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
"Use the `ResponseEntity` type to wrap return values of generated API methods. "
|
||||
+ "If disabled, method are annotated using a `@ResponseStatus` annotation, which has the status of the first response declared in the Api definition",
|
||||
useResponseEntity));
|
||||
cliOptions.add(CliOption.newBoolean(GENERATE_GENERIC_RESPONSE_ENTITY,
|
||||
"Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. "
|
||||
+ "If enabled, method are generated with return type ResponseEntity<?>",
|
||||
generateGenericResponseEntity));
|
||||
cliOptions.add(CliOption.newBoolean(USE_ENUM_CASE_INSENSITIVE,
|
||||
"Use `equalsIgnoreCase` when String for enum comparison",
|
||||
useEnumCaseInsensitive));
|
||||
@@ -433,6 +439,11 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
|
||||
convertPropertyToBooleanAndWriteBack(UNHANDLED_EXCEPTION_HANDLING, this::setUnhandledException);
|
||||
convertPropertyToBooleanAndWriteBack(USE_RESPONSE_ENTITY, this::setUseResponseEntity);
|
||||
convertPropertyToBooleanAndWriteBack(GENERATE_GENERIC_RESPONSE_ENTITY, this::setGenerateGenericResponseEntity);
|
||||
if (!useResponseEntity) {
|
||||
this.setGenerateGenericResponseEntity(false);
|
||||
this.additionalProperties.put(GENERATE_GENERIC_RESPONSE_ENTITY, false);
|
||||
}
|
||||
convertPropertyToBooleanAndWriteBack(OPTIONAL_ACCEPT_NULLABLE, this::setOptionalAcceptNullable);
|
||||
convertPropertyToBooleanAndWriteBack(USE_SPRING_BUILT_IN_VALIDATION, this::setUseSpringBuiltInValidation);
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ import {{invokerPackage}}.auth.OAuth;
|
||||
{{/hasOAuthMethods}}
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
|
||||
protected Map<String, String> defaultHeaderMap = new HashMap<String, String>();
|
||||
protected Map<String, String> defaultCookieMap = new HashMap<String, String>();
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class Configuration {
|
||||
public static final String VERSION = "{{{artifactVersion}}}";
|
||||
|
||||
|
||||
@@ -10,44 +10,49 @@ import java.time.format.DateTimeParseException;
|
||||
* It's generated for java clients when {@code AbstractJavaCodegen#dateLibrary} specified as {@code java8}.
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class JavaTimeFormatter {
|
||||
private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
|
||||
|
||||
private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
|
||||
/**
|
||||
* Get the date format used to parse/format {@code OffsetDateTime} parameters.
|
||||
*
|
||||
* @return DateTimeFormatter
|
||||
*/
|
||||
public DateTimeFormatter getOffsetDateTimeFormatter() {
|
||||
return offsetDateTimeFormatter;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the date format used to parse/format {@code OffsetDateTime} parameters.
|
||||
* @return DateTimeFormatter
|
||||
*/
|
||||
public DateTimeFormatter getOffsetDateTimeFormatter() {
|
||||
return offsetDateTimeFormatter;
|
||||
}
|
||||
/**
|
||||
* Set the date format used to parse/format {@code OffsetDateTime} parameters.
|
||||
*
|
||||
* @param offsetDateTimeFormatter {@code DateTimeFormatter}
|
||||
*/
|
||||
public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) {
|
||||
this.offsetDateTimeFormatter = offsetDateTimeFormatter;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the date format used to parse/format {@code OffsetDateTime} parameters.
|
||||
* @param offsetDateTimeFormatter {@code DateTimeFormatter}
|
||||
*/
|
||||
public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) {
|
||||
this.offsetDateTimeFormatter = offsetDateTimeFormatter;
|
||||
/**
|
||||
* Parse the given string into {@code OffsetDateTime} object.
|
||||
*
|
||||
* @param str String
|
||||
* @return {@code OffsetDateTime}
|
||||
*/
|
||||
public OffsetDateTime parseOffsetDateTime(String str) {
|
||||
try {
|
||||
return OffsetDateTime.parse(str, offsetDateTimeFormatter);
|
||||
} catch (DateTimeParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given string into {@code OffsetDateTime} object.
|
||||
* @param str String
|
||||
* @return {@code OffsetDateTime}
|
||||
*/
|
||||
public OffsetDateTime parseOffsetDateTime(String str) {
|
||||
try {
|
||||
return OffsetDateTime.parse(str, offsetDateTimeFormatter);
|
||||
} catch (DateTimeParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Format the given {@code OffsetDateTime} object into string.
|
||||
* @param offsetDateTime {@code OffsetDateTime}
|
||||
* @return {@code OffsetDateTime} in string format
|
||||
*/
|
||||
public String formatOffsetDateTime(OffsetDateTime offsetDateTime) {
|
||||
return offsetDateTimeFormatter.format(offsetDateTime);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Format the given {@code OffsetDateTime} object into string.
|
||||
*
|
||||
* @param offsetDateTime {@code OffsetDateTime}
|
||||
* @return {@code OffsetDateTime} in string format
|
||||
*/
|
||||
public String formatOffsetDateTime(OffsetDateTime offsetDateTime) {
|
||||
return offsetDateTimeFormatter.format(offsetDateTime);
|
||||
}
|
||||
}
|
||||
@@ -3,44 +3,25 @@
|
||||
package {{invokerPackage}};
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class Pair {
|
||||
private String name = "";
|
||||
private String value = "";
|
||||
private final String name;
|
||||
private final String value;
|
||||
|
||||
public Pair (String name, String value) {
|
||||
setName(name);
|
||||
setValue(value);
|
||||
}
|
||||
public Pair(String name, String value) {
|
||||
this.name = isValidString(name) ? name : "";
|
||||
this.value = isValidString(value) ? value : "";
|
||||
}
|
||||
|
||||
private void setName(String name) {
|
||||
if (!isValidString(name)) {
|
||||
return;
|
||||
}
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
this.name = name;
|
||||
}
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
private void setValue(String value) {
|
||||
if (!isValidString(value)) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
private boolean isValidString(String arg) {
|
||||
if (arg == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
private static boolean isValidString(String arg) {
|
||||
return arg != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import java.util.GregorianCalendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class RFC3339DateFormat extends DateFormat {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC");
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.time.ZonedDateTime;
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
* Representing a Server configuration.
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ServerConfiguration {
|
||||
public String URL;
|
||||
public String description;
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.HashSet;
|
||||
* Representing a Server Variable for server URL template substitution.
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ServerVariable {
|
||||
public String description;
|
||||
public String defaultValue;
|
||||
|
||||
@@ -6,6 +6,7 @@ import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class StringUtil {
|
||||
/**
|
||||
* Check if the given array contains the given value (with case-insensitive comparison).
|
||||
|
||||
@@ -19,6 +19,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
{{#operations}}
|
||||
public class {{classname}} {
|
||||
private ApiClient apiClient;
|
||||
|
||||
@@ -6,6 +6,7 @@ import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiException extends{{#useRuntimeException}} RuntimeException {{/useRuntimeException}}{{^useRuntimeException}} Exception {{/useRuntimeException}}{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiKeyAuth implements Authentication {
|
||||
private final String location;
|
||||
private final String paramName;
|
||||
|
||||
@@ -8,13 +8,14 @@ import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public interface Authentication {
|
||||
/**
|
||||
* Apply authentication settings to header and query params.
|
||||
*
|
||||
* @param queryParams List of query parameters
|
||||
* @param headerParams Map of header parameters
|
||||
* @param cookieParams Map of cookie parameters
|
||||
*/
|
||||
void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams);
|
||||
/**
|
||||
* Apply authentication settings to header and query params.
|
||||
*
|
||||
* @param queryParams List of query parameters
|
||||
* @param headerParams Map of header parameters
|
||||
* @param cookieParams Map of cookie parameters
|
||||
*/
|
||||
void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class HttpBasicAuth implements Authentication {
|
||||
private String username;
|
||||
private String password;
|
||||
|
||||
@@ -6,16 +6,16 @@ import {{invokerPackage}}.Pair;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class HttpBearerAuth implements Authentication {
|
||||
private final String scheme;
|
||||
private Supplier<String> tokenSupplier;
|
||||
|
||||
public HttpBearerAuth(String scheme) {
|
||||
this.scheme = scheme;
|
||||
this.scheme = upperCaseBearer(scheme);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,15 +47,14 @@ public class HttpBearerAuth implements Authentication {
|
||||
|
||||
@Override
|
||||
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
|
||||
String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
|
||||
String bearerToken = tokenSupplier != null ? tokenSupplier.get() : null;
|
||||
if (bearerToken == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken);
|
||||
headerParams.put("Authorization", (scheme != null ? scheme + " " : "") + bearerToken);
|
||||
}
|
||||
|
||||
private static String upperCaseBearer(String scheme) {
|
||||
return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme;
|
||||
return "bearer".equalsIgnoreCase(scheme) ? "Bearer" : scheme;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class OAuth implements Authentication {
|
||||
private String accessToken;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ package {{invokerPackage}}.auth;
|
||||
* OAuth flows that are supported by this client
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public enum OAuthFlow {
|
||||
ACCESS_CODE, //called authorizationCode in OpenAPI 3.0
|
||||
IMPLICIT,
|
||||
|
||||
@@ -86,6 +86,7 @@ import {{invokerPackage}}.auth.OAuth;
|
||||
{{/hasOAuthMethods}}
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
|
||||
protected Map<String, String> defaultHeaderMap = new HashMap<String, String>();
|
||||
protected Map<String, String> defaultCookieMap = new HashMap<String, String>();
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public abstract class BaseApi {
|
||||
|
||||
protected ApiClient apiClient;
|
||||
|
||||
@@ -29,6 +29,7 @@ import {{javaxPackage}}.validation.Valid;
|
||||
|
||||
{{/useBeanValidation}}
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
{{#operations}}
|
||||
public class {{classname}} extends BaseApi {
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ import feign.Retryer;
|
||||
{{/hasOAuthMethods}}
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiClient {
|
||||
protected static final Logger log = Logger.getLogger(ApiClient.class.getName());
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import {{javaxPackage}}.validation.Valid;
|
||||
import feign.*;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public interface {{classname}} extends ApiClient.Api {
|
||||
|
||||
{{#operations}}{{#operation}}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.github.scribejava.core.oauth2.clientauthentication.ClientAuthenticati
|
||||
import com.github.scribejava.core.oauth2.clientauthentication.RequestBodyAuthenticationScheme;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class DefaultApi20Impl extends DefaultApi20 {
|
||||
|
||||
private final String accessTokenEndpoint;
|
||||
|
||||
@@ -10,6 +10,7 @@ import feign.RequestTemplate;
|
||||
import java.util.Collection;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public abstract class OAuth implements RequestInterceptor {
|
||||
|
||||
//https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.github.scribejava.core.builder.ServiceBuilder;
|
||||
import com.github.scribejava.core.model.OAuth2AccessToken;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class OauthClientCredentialsGrant extends OAuth {
|
||||
|
||||
public OauthClientCredentialsGrant(String authorizationUrl, String tokenUrl, String scopes) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.github.scribejava.core.builder.ServiceBuilder;
|
||||
import com.github.scribejava.core.model.OAuth2AccessToken;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class OauthPasswordGrant extends OAuth {
|
||||
|
||||
private String username;
|
||||
|
||||
@@ -33,10 +33,12 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
||||
{{#isEnum}}
|
||||
{{^isContainer}}
|
||||
{{>modelInnerEnum}}
|
||||
|
||||
{{/isContainer}}
|
||||
{{#isContainer}}
|
||||
{{#mostInnerItems}}
|
||||
{{>modelInnerEnum}}
|
||||
|
||||
{{/mostInnerItems}}
|
||||
{{/isContainer}}
|
||||
{{/isEnum}}
|
||||
@@ -72,7 +74,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
||||
{{/isContainer}}
|
||||
{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
||||
{{^vendorExtensions.x-is-jackson-optional-nullable}}
|
||||
{{>nullable_var_annotations}}
|
||||
{{>nullable_var_annotations}}{{! prevent indent}}
|
||||
{{#isContainer}}
|
||||
private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
|
||||
{{/isContainer}}
|
||||
@@ -190,12 +192,13 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
||||
{{#deprecated}}
|
||||
@Deprecated
|
||||
{{/deprecated}}
|
||||
{{>nullable_var_annotations}}
|
||||
{{>nullable_var_annotations}}{{! prevent indent}}
|
||||
{{#jsonb}}
|
||||
@JsonbProperty("{{baseName}}")
|
||||
{{/jsonb}}
|
||||
{{#useBeanValidation}}
|
||||
{{>beanValidation}}
|
||||
|
||||
{{/useBeanValidation}}
|
||||
{{#swagger1AnnotationLibrary}}
|
||||
@ApiModelProperty({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}")
|
||||
@@ -224,6 +227,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
||||
|
||||
{{#vendorExtensions.x-is-jackson-optional-nullable}}
|
||||
{{> jackson_annotations}}
|
||||
|
||||
public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}_JsonNullable() {
|
||||
return {{name}};
|
||||
}
|
||||
@@ -249,6 +253,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
||||
|
||||
{{/vars}}
|
||||
{{>libraries/feign/additional_properties}}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
{{#useReflectionEqualsHashCode}}
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiClient {
|
||||
protected final String basePath;
|
||||
protected final HttpRequestFactory httpRequestFactory;
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
{{#operations}}
|
||||
public class {{classname}} {
|
||||
private ApiClient apiClient;
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.fasterxml.jackson.annotation.JsonValue;
|
||||
* Abstract class for oneOf,anyOf schemas defined in OpenAPI spec
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public abstract class AbstractOpenApiSchema {
|
||||
|
||||
// store the actual instance of the schema/object
|
||||
@@ -135,4 +136,5 @@ public abstract class AbstractOpenApiSchema {
|
||||
|
||||
{{>libraries/jersey2/additional_properties}}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -84,6 +84,7 @@ import {{invokerPackage}}.auth.OAuth;
|
||||
* <p>ApiClient class.</p>
|
||||
*/
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
|
||||
protected static final Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$");
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import {{javaxPackage}}.ws.rs.core.GenericType;
|
||||
import {{javaxPackage}}.ws.rs.ext.ContextResolver;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
public class JSON implements ContextResolver<ObjectMapper> {
|
||||
private ObjectMapper mapper;
|
||||
|
||||
|
||||
@@ -119,6 +119,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
|
||||
super("anyOf", {{#isNullable}}Boolean.TRUE{{/isNullable}}{{^isNullable}}Boolean.FALSE{{/isNullable}});
|
||||
}
|
||||
{{> libraries/jersey2/additional_properties }}
|
||||
|
||||
{{#additionalPropertiesType}}
|
||||
/**
|
||||
* Return true if this {{name}} object is equal to o.
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
|
||||
{{#operations}}
|
||||
public class {{classname}} {
|
||||
private ApiClient apiClient;
|
||||
@@ -205,7 +206,7 @@ public class {{classname}} {
|
||||
|
||||
public class API{{operationId}}Request {
|
||||
{{#allParams}}
|
||||
{{>nullable_var_annotations}}
|
||||
{{>nullable_var_annotations}}{{! prevent indent}}
|
||||
private {{{dataType}}} {{paramName}};
|
||||
{{/allParams}}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user