mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-02 21:50:55 +00:00
Compare commits
142 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2af194b014 | ||
|
65773a9024 | ||
|
311233d804 | ||
|
b444de2b5c | ||
|
d0327b2683 | ||
|
af6ab0ed0e | ||
|
050dcae3ab | ||
|
e948355127 | ||
|
7c57c55194 | ||
|
a5f638fefd | ||
|
0e67c3a5ad | ||
|
43fa1b736a | ||
|
304b3cbcaa | ||
|
d7a74849f2 | ||
|
c0dc9c63d0 | ||
|
03effd7d05 | ||
|
d11d008e71 | ||
|
b6b71cd4da | ||
|
6b5fd6e622 | ||
|
c010c89915 | ||
|
b05604dab7 | ||
|
cfe476f32d | ||
|
d911a71be9 | ||
|
046be5dba1 | ||
|
5eb083e5ce | ||
|
0903ecf85e | ||
|
88bc79e906 | ||
|
cef971cf9a | ||
|
8d8e3ddf16 | ||
|
623463a6ed | ||
|
43e878b421 | ||
|
50c6754fcc | ||
|
d2b8a1eeac | ||
|
dbc5d09da6 | ||
|
6e9dedba75 | ||
|
fc29daa6c0 | ||
|
db38f0f556 | ||
|
d5ab8f225e | ||
|
055687935b | ||
|
6bfd39f5de | ||
|
7f578d7444 | ||
|
8087f2b365 | ||
|
937d314e19 | ||
|
12fa2c0032 | ||
|
fa64c8e012 | ||
|
fbd94d5fbb | ||
|
4402d836bb | ||
|
89eea742fe | ||
|
eb8ce7331a | ||
|
4cfc8eff00 | ||
|
9d70de44d6 | ||
|
d88d588665 | ||
|
b57c23b121 | ||
|
b20c569187 | ||
|
49cadfec3a | ||
|
81cdc82af7 | ||
|
9ebc6308b9 | ||
|
fbca2b28d0 | ||
|
b929970db2 | ||
|
18ccf86a6a | ||
|
5997acb592 | ||
|
bce88c93ba | ||
|
a428cff3f4 | ||
|
959326048f | ||
|
1f8787e53a | ||
|
1b57d4b1e6 | ||
|
5677f5b09b | ||
|
05e672d856 | ||
|
2c67841e5c | ||
|
dcd89bf3c5 | ||
|
d2196dd727 | ||
|
041d36c954 | ||
|
c6a88eaf8e | ||
|
c4dad53455 | ||
|
a891876ea9 | ||
|
66ff91a687 | ||
|
4379a23608 | ||
|
f735c6e091 | ||
|
5ec4e4c8f1 | ||
|
cdef985ca7 | ||
|
dac1e6b7d3 | ||
|
894008f325 | ||
|
5f63385a31 | ||
|
13c95f1dd2 | ||
|
78b54b9283 | ||
|
0aaeb45dbe | ||
|
6e2b4f99ba | ||
|
45047b77f1 | ||
|
b3935922cd | ||
|
9b39c05563 | ||
|
cfe0b6fae3 | ||
|
6c0e7274ea | ||
|
5b885cd3db | ||
|
68c1d8970e | ||
|
bd8a206ebd | ||
|
0bfce24071 | ||
|
40894382fc | ||
|
429da9860b | ||
|
a0b9ecd773 | ||
|
2fb26c362e | ||
|
9981a408d1 | ||
|
91630b8591 | ||
|
57bf6925bb | ||
|
be17698320 | ||
|
2fd1ee66cc | ||
|
6344bfa779 | ||
|
66e8c932c3 | ||
|
d6c4634269 | ||
|
bb811db2a2 | ||
|
b55ae3caa8 | ||
|
ecd5d253a8 | ||
|
4cffd32f87 | ||
|
f2813716fb | ||
|
3048fb02e1 | ||
|
5117616b53 | ||
|
5e5a053bfa | ||
|
f5b8fd6f5e | ||
|
4b2abdf48d | ||
|
2010c2a60a | ||
|
41012588dd | ||
|
e22d079bb0 | ||
|
d38898a4d0 | ||
|
652d4ed95c | ||
|
104ceb9c16 | ||
|
0389a99cec | ||
|
f3af25b10c | ||
|
56fe7e3286 | ||
|
ac77339fcd | ||
|
3c664d1a59 | ||
|
76540e591f | ||
|
56eb8f7bc9 | ||
|
3bac186b2f | ||
|
d04c0ddbb4 | ||
|
afa135f93d | ||
|
2327562af4 | ||
|
daeffde719 | ||
|
9a289e9713 | ||
|
3fadfe3889 | ||
|
65c312653a | ||
|
29b6b771d7 | ||
|
9eefc09487 | ||
|
dbf720c093 |
@ -11,10 +11,9 @@
|
||||
},
|
||||
"ghcr.io/devcontainers/features/rust:1": {},
|
||||
"ghcr.io/snebjorn/devcontainer-feature/chromium:latest": {},
|
||||
"docker-in-docker": {
|
||||
"ghcr.io/devcontainers/features/docker-in-docker:2": {
|
||||
"version": "latest",
|
||||
"moby": true,
|
||||
"dockerDashComposeVersion": "v1"
|
||||
"moby": true
|
||||
}
|
||||
},
|
||||
// Configure tool-specific properties.
|
||||
|
4
.github/CODEOWNERS
vendored
4
.github/CODEOWNERS
vendored
@ -28,3 +28,7 @@ modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @martindelille
|
||||
samples/client/petstore/cpp-qt/**/* @martindelille
|
||||
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @muttleyxd
|
||||
samples/client/petstore/cpp-qt/**/* @muttleyxd
|
||||
|
||||
# cpp-rest-client technical committee
|
||||
modules/openapi-generator/src/main/resources/cpp-rest-client/**/* @aminya
|
||||
samples/client/petstore/cpp-restsdk/**/* @aminya
|
||||
|
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -10,7 +10,7 @@ assignees: ''
|
||||
#### Bug Report Checklist
|
||||
|
||||
- [ ] Have you provided a full/minimal spec to reproduce the issue?
|
||||
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apitools.dev/swagger-parser/online/))?
|
||||
- [ ] Have you validated the input using an OpenAPI validator?
|
||||
- [ ] Have you [tested with the latest master](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) to confirm the issue still exists?
|
||||
- [ ] Have you searched for related issues/PRs?
|
||||
- [ ] What's the actual output vs expected output?
|
||||
|
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -11,7 +11,7 @@
|
||||
./bin/generate-samples.sh ./bin/configs/*.yaml || exit
|
||||
./bin/utils/export_docs_generators.sh || exit
|
||||
```
|
||||
(For Windows users, please run the script in [Git BASH](https://gitforwindows.org/))
|
||||
(For Windows users, please run the script in [WSL](https://learn.microsoft.com/en-us/windows/wsl/install))
|
||||
Commit all changed files.
|
||||
This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master.
|
||||
These must match the expectations made by your contribution.
|
||||
|
1
.github/workflows/openapi-generator.yaml
vendored
1
.github/workflows/openapi-generator.yaml
vendored
@ -144,6 +144,7 @@ jobs:
|
||||
run: |
|
||||
rm -rf samples/client/petstore/csharp/generichost/latest/HelloWorld
|
||||
rm -rf samples/client/petstore/csharp/generichost/latest/Tags
|
||||
rm -rf samples/client/petstore/csharp/generichost/latest/OneOfList
|
||||
|
||||
rm -rf samples/client/petstore/csharp/generichost/net8/AllOf
|
||||
rm -rf samples/client/petstore/csharp/generichost/net8/AnyOf
|
||||
|
1
.github/workflows/samples-dotnet9.yaml
vendored
1
.github/workflows/samples-dotnet9.yaml
vendored
@ -25,6 +25,7 @@ jobs:
|
||||
sample:
|
||||
- samples/client/petstore/csharp/generichost/latest/Tags
|
||||
- samples/client/petstore/csharp/generichost/latest/HelloWorld
|
||||
- samples/client/petstore/csharp/generichost/latest/OneOfList
|
||||
- samples/client/petstore/csharp/generichost/net9/AllOf
|
||||
- samples/client/petstore/csharp/generichost/net9/AnyOf
|
||||
- samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare
|
||||
|
39
.github/workflows/samples-elixir.yaml
vendored
Normal file
39
.github/workflows/samples-elixir.yaml
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
name: Samples Elixir
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- samples/client/petstore/elixir/**
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/client/petstore/elixir/**
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
name: OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
|
||||
strategy:
|
||||
matrix:
|
||||
otp: ['25.3.2', '26.2.5', '27.3.3']
|
||||
elixir: ['1.18.3']
|
||||
sample:
|
||||
- samples/client/petstore/elixir/
|
||||
services:
|
||||
petstore-api:
|
||||
image: swaggerapi/petstore
|
||||
ports:
|
||||
- 80:8080
|
||||
env:
|
||||
SWAGGER_HOST: http://petstore.swagger.io
|
||||
SWAGGER_BASE_PATH: /v2
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: erlef/setup-beam@v1
|
||||
with:
|
||||
otp-version: ${{matrix.otp}}
|
||||
elixir-version: ${{matrix.elixir}}
|
||||
- name: mix deps.get
|
||||
run: mix deps.get
|
||||
working-directory: ${{ matrix.sample }}
|
||||
- name: mix test
|
||||
run: mix test
|
||||
working-directory: ${{ matrix.sample }}
|
24
.github/workflows/samples-java-client-jdk11.yaml
vendored
24
.github/workflows/samples-java-client-jdk11.yaml
vendored
@ -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
|
||||
@ -110,6 +111,27 @@ jobs:
|
||||
path: |
|
||||
~/.m2
|
||||
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
|
||||
- name: Build
|
||||
- name: Build with Maven
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: mvn clean package --no-transfer-progress
|
||||
|
||||
- name: Cache gradle dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: gradle-caches
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
|
||||
|
||||
- name: Cache gradle wrapper
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: gradle-wrapper
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
|
||||
|
||||
- name: Build with Gradle
|
||||
working-directory: ${{ matrix.sample }}
|
||||
if: ${{ hashFiles('./gradlew') != '' }}
|
||||
run: ./gradlew build -x test
|
||||
|
@ -7,12 +7,14 @@ on:
|
||||
- samples/client/petstore/java/webclient-jakarta/**
|
||||
- samples/client/petstore/java/restclient-*/**
|
||||
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
|
||||
- samples/client/others/java/restclient-enum-in-multipart/**
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/client/petstore/java/resttemplate-jakarta/**
|
||||
- samples/client/petstore/java/webclient-jakarta/**
|
||||
- samples/client/petstore/java/restclient-*/**
|
||||
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
|
||||
- samples/client/others/java/restclient-enum-in-multipart/**
|
||||
jobs:
|
||||
build:
|
||||
name: Build Java Client JDK17
|
||||
@ -30,6 +32,7 @@ jobs:
|
||||
- samples/client/petstore/java/restclient-useSingleRequestParameter
|
||||
- samples/client/petstore/java/restclient-useSingleRequestParameter-static
|
||||
- samples/client/petstore/java/webclient-useSingleRequestParameter
|
||||
- samples/client/others/java/restclient-enum-in-multipart
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
|
1
.github/workflows/samples-kotlin-client.yaml
vendored
1
.github/workflows/samples-kotlin-client.yaml
vendored
@ -65,6 +65,7 @@ jobs:
|
||||
- samples/client/echo_api/kotlin-jvm-spring-3-restclient
|
||||
- samples/client/petstore/kotlin-name-parameter-mappings
|
||||
- samples/client/others/kotlin-jvm-okhttp-parameter-tests
|
||||
- samples/client/others/kotlin-jvm-okhttp-path-comments
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
|
1
.github/workflows/samples-kotlin-server.yaml
vendored
1
.github/workflows/samples-kotlin-server.yaml
vendored
@ -48,6 +48,7 @@ jobs:
|
||||
- samples/server/others/kotlin-server/jaxrs-spec-array-response
|
||||
- samples/server/petstore/kotlin-spring-cloud
|
||||
- samples/server/petstore/kotlin-misk
|
||||
- samples/server/petstore/kotlin-misk-config
|
||||
# comment out due to gradle build failure
|
||||
#- samples/server/petstore/kotlin-spring-default
|
||||
# no build.gradle file
|
||||
|
3
.github/workflows/samples-php8.yaml
vendored
3
.github/workflows/samples-php8.yaml
vendored
@ -6,11 +6,13 @@ on:
|
||||
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
|
||||
- samples/server/petstore/php-flight/**
|
||||
- samples/server/petstore/php-laravel/**
|
||||
- samples/server/petstore/php-laravel-issue-21334/**
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
|
||||
- samples/server/petstore/php-flight/**
|
||||
- samples/server/petstore/php-laravel/**
|
||||
- samples/server/petstore/php-laravel-issue-21334/**
|
||||
jobs:
|
||||
build:
|
||||
name: Build PHP projects
|
||||
@ -28,6 +30,7 @@ jobs:
|
||||
- samples/server/petstore/php-symfony/SymfonyBundle-php/
|
||||
- samples/server/petstore/php-flight/
|
||||
- samples/server/petstore/php-laravel/
|
||||
- samples/server/petstore/php-laravel-issue-21334/
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup PHP with tools
|
||||
|
12
.github/workflows/samples-python-petstore.yaml
vendored
12
.github/workflows/samples-python-petstore.yaml
vendored
@ -8,6 +8,18 @@ on:
|
||||
- .github/workflows/samples-python-petstore.yaml
|
||||
|
||||
jobs:
|
||||
validate-pyproject-toml:
|
||||
name: Validate pyproject.toml
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
- name: Install validator
|
||||
run: pip install 'validate-pyproject[all]'
|
||||
- name: Validate
|
||||
run: validate-pyproject samples/openapi3/client/petstore/python/pyproject.toml
|
||||
build:
|
||||
name: Test Python client
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -15,7 +15,6 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version:
|
||||
- "3.8"
|
||||
- "3.9"
|
||||
- "3.10"
|
||||
- "3.11"
|
||||
|
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,11 +3,11 @@
|
||||
<extension>
|
||||
<groupId>com.gradle</groupId>
|
||||
<artifactId>develocity-maven-extension</artifactId>
|
||||
<version>1.21.6</version>
|
||||
<version>1.23.2</version>
|
||||
</extension>
|
||||
<extension>
|
||||
<groupId>com.gradle</groupId>
|
||||
<artifactId>common-custom-user-data-maven-extension</artifactId>
|
||||
<version>1.12.5</version>
|
||||
<version>2.0.2</version>
|
||||
</extension>
|
||||
</extensions>
|
||||
|
@ -74,8 +74,8 @@ elif [ "$NODE_INDEX" = "3" ]; then
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
#nvm install stable
|
||||
# install v16 instead of the latest stable version
|
||||
nvm install 16
|
||||
nvm alias default 16
|
||||
nvm install 18
|
||||
nvm alias default 18
|
||||
node --version
|
||||
|
||||
# Each step uses the same `$BASH_ENV`, so need to modify it
|
||||
|
50
README.md
50
README.md
@ -6,7 +6,7 @@
|
||||
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
|
||||
[](./LICENSE)
|
||||
[](https://opencollective.com/openapi_generator)
|
||||
[](https://join.slack.com/t/openapi-generator/shared_invite/zt-2wmkn4s8g-n19PJ99Y6Vei74WMUIehQA)
|
||||
[](https://join.slack.com/t/openapi-generator/shared_invite/zt-36ucx4ybl-jYrN6euoYn6zxXNZdldoZA)
|
||||
[](https://twitter.com/oas_generator)
|
||||
[](https://gitpod.io/#https://github.com/OpenAPITools/openapi-generator)
|
||||
[](https://conan.io/center/recipes/openapi-generator)
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.13.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)
|
||||
@ -74,6 +74,8 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
|
||||
[<img src="https://openapi-generator.tech/img/companies/route4me.png" width="128" height="128">](https://route4me.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
[<img src="https://openapi-generator.tech/img/companies/dm.png" width="128" height="128">](https://www.dotcom-monitor.com/sponsoring-open-source-projects/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
|
||||
[<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)
|
||||
|
||||
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
|
||||
|
||||
@ -96,31 +98,47 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [OpenAPI Generator](#openapi-generator)
|
||||
- [Sponsors](#sponsors)
|
||||
- [Thank you to our bronze sponsors!](#thank-you-to-our-bronze-sponsors)
|
||||
- [Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity](#thank-you-godaddy-for-sponsoring-the-domain-names-linode-for-sponsoring-the-vps-checkly-for-sponsoring-the-api-monitoring-and-gradle-for-sponsoring-develocity)
|
||||
- [Overview](#overview)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Table of contents](#table-of-contents)
|
||||
- [1 - Installation](#1---installation)
|
||||
- [1.1 - Compatibility](#11---compatibility)
|
||||
- [1.2 - Artifacts on Maven Central](#12---artifacts-on-maven-central)
|
||||
- [1.3 - Download JAR](#13---download-jar)
|
||||
- [Launcher Script](#launcher-script)
|
||||
- [1.4 - Build Projects](#14---build-projects)
|
||||
- [Nix users](#nix-users)
|
||||
- [1.5 - Homebrew](#15---homebrew)
|
||||
- [1.6 - Docker](#16---docker)
|
||||
- [Public Pre-built Docker images](#public-pre-built-docker-images)
|
||||
- [OpenAPI Generator CLI Docker Image](#openapi-generator-cli-docker-image)
|
||||
- [OpenAPI Generator Online Docker Image](#openapi-generator-online-docker-image)
|
||||
- [Development in docker](#development-in-docker)
|
||||
- [Troubleshooting](#troubleshooting)
|
||||
- [Run Docker in Vagrant](#run-docker-in-vagrant)
|
||||
- [1.7 - NPM](#17---npm)
|
||||
- [1.8 - pip](#18---pip)
|
||||
- [2 - Getting Started](#2---getting-started)
|
||||
- [3 - Usage](#3---usage)
|
||||
- [To generate a sample client library](#to-generate-a-sample-client-library)
|
||||
- [3.1 - Customization](#31---customization)
|
||||
- [3.2 - Workflow Integration](#32---workflow-integration-maven-gradle-github-cicd)
|
||||
- [3.3 - Online Generators](#33---online-openapi-generator)
|
||||
- [3.4 - License Information on Generated Code](#34---license-information-on-generated-code)
|
||||
- [3.2 - Workflow Integration (Maven, Gradle, Github, CI/CD)](#32---workflow-integration-maven-gradle-github-cicd)
|
||||
- [3.3 - Online OpenAPI generator](#33---online-openapi-generator)
|
||||
- [3.4 - License information on Generated Code](#34---license-information-on-generated-code)
|
||||
- [3.5 - IDE Integration](#35---ide-integration)
|
||||
- [4 - Companies/Projects using OpenAPI Generator](#4---companiesprojects-using-openapi-generator)
|
||||
- [5 - Presentations/Videos/Tutorials/Books](#5---presentationsvideostutorialsbooks)
|
||||
- [6 - About Us](#6---about-us)
|
||||
- [6.1 - OpenAPI Generator Core Team](#61---openapi-generator-core-team)
|
||||
- [Core Team Members](#core-team-members)
|
||||
- [Template Creator](#template-creator)
|
||||
- [How to join the core team](#how-to-join-the-core-team)
|
||||
- [6.2 - OpenAPI Generator Technical Committee](#62---openapi-generator-technical-committee)
|
||||
- [Members of Technical Committee](#members-of-technical-committee)
|
||||
- [6.3 - History of OpenAPI Generator](#63---history-of-openapi-generator)
|
||||
- [Founding Members (alphabetical order):](#founding-members-alphabetical-order)
|
||||
- [7 - License](#7---license)
|
||||
|
||||
## [1 - Installation](#table-of-contents)
|
||||
@ -131,8 +149,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
|
||||
|
||||
| OpenAPI Generator Version | Release Date | Notes |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
|
||||
| 7.13.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.13.0-SNAPSHOT/) | 02.04.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [7.12.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.12.0) (latest stable release) | 28.02.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) |
|
||||
@ -195,16 +213,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.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:
|
||||
```sh
|
||||
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.
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
|
||||
@ -439,7 +457,7 @@ openapi-generator-cli version
|
||||
To use a specific version of "openapi-generator-cli"
|
||||
|
||||
```sh
|
||||
openapi-generator-cli version-manager set 7.12.0
|
||||
openapi-generator-cli version-manager set 7.14.0
|
||||
```
|
||||
|
||||
Or install it as dev-dependency:
|
||||
@ -463,7 +481,7 @@ pip install openapi-generator-cli
|
||||
|
||||
To install a specific version
|
||||
```
|
||||
pip install openapi-generator-cli==7.12.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)
|
||||
@ -489,7 +507,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.12.0/openapi-generator-cli-7.12.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`
|
||||
@ -1218,7 +1236,7 @@ If you want to join the committee, please kindly apply by sending an email to te
|
||||
| Apex | |
|
||||
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
|
||||
| C | @zhemant (2018/11) @ityuhui (2019/12) @michelealbano (2020/03) @eafer (2024/12) |
|
||||
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @etherealjoy (2018/02) @martindelille (2018/03) @muttleyxd (2019/08) |
|
||||
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @etherealjoy (2018/02) @martindelille (2018/03) @muttleyxd (2019/08) @aminya (2025/05) |
|
||||
| C# | @mandrean (2017/08) @shibayan (2020/02) @Blackclaws (2021/03) @lucamazzanti (2021/05) @iBicha (2023/07) |
|
||||
| Clojure | |
|
||||
| Crystal | @cyangle (2021/01) |
|
||||
|
@ -45,6 +45,7 @@ build_script:
|
||||
test_script:
|
||||
- dotnet test samples\client\petstore\csharp\generichost\latest\Tags\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
||||
- dotnet test samples\client\petstore\csharp\generichost\latest\HelloWorld\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
||||
- dotnet test samples\client\petstore\csharp\generichost\latest\OneOfList\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
||||
|
||||
- dotnet test samples\client\petstore\csharp\generichost\net9\AllOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
||||
- dotnet test samples\client\petstore\csharp\generichost\net9\AnyOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
|
||||
|
4
bin/configs/avro-schema-issue6268.yaml
Normal file
4
bin/configs/avro-schema-issue6268.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
generatorName: avro-schema
|
||||
outputDir: samples/openapi3/schema/petstore/avro-schema-issue6268
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/issue6268.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/avro-schema
|
8
bin/configs/csharp-generichost-latest-oneOfList.yaml
Normal file
8
bin/configs/csharp-generichost-latest-oneOfList.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
generatorName: csharp
|
||||
outputDir: samples/client/petstore/csharp/generichost/latest/OneOfList
|
||||
inputSpec: modules/openapi-generator/src/test/resources/bugs/issue_20739.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/csharp
|
||||
additionalProperties:
|
||||
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
|
||||
modelPropertySorting: alphabetical
|
||||
operationParameterSorting: alphabetical
|
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"
|
@ -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
|
@ -10,6 +10,7 @@ parameterNameMappings:
|
||||
_type: underscoreType
|
||||
type_: typeWithUnderscore
|
||||
additionalProperties:
|
||||
defaultToEmptyContainer: "array?|array|map?"
|
||||
artifactId: petstore-okhttp-gson
|
||||
hideGenerationTimestamp: true
|
||||
useOneOfDiscriminatorLookup: true
|
||||
|
7
bin/configs/java-restclient-enum-in-multipart.yaml
Normal file
7
bin/configs/java-restclient-enum-in-multipart.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
generatorName: java
|
||||
outputDir: samples/client/others/java/restclient-enum-in-multipart
|
||||
library: restclient
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_1/enum-in-multipart.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/Java
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
8
bin/configs/kotlin-jvm-okhttp-path-comments.yaml
Normal file
8
bin/configs/kotlin-jvm-okhttp-path-comments.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
generatorName: kotlin
|
||||
outputDir: samples/client/others/kotlin-jvm-okhttp-path-comments
|
||||
library: jvm-okhttp4
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/issue20618-path-comments.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
|
||||
additionalProperties:
|
||||
artifactId: kotlin-petstore-okhttp4-path-comments
|
||||
|
18
bin/configs/kotlin-misk-config.yaml
Normal file
18
bin/configs/kotlin-misk-config.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
generatorName: kotlin-misk
|
||||
outputDir: samples/server/petstore/kotlin-misk-config
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-misk
|
||||
validateSpec: false
|
||||
useBeanValidation: true
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
moduleClassName: "PetStoreModule"
|
||||
generateStubImplClasses: true
|
||||
addModelMoshiJsonAnnotation: true
|
||||
actionPathPrefix: "samplePrefix"
|
||||
actionAnnotations: "@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 2.0);@Suppress(\"unused\")"
|
||||
actionImports: "misk.web.actions.WebAction;misk.web.interceptors.LogRequestResponse"
|
||||
actionParentClass: "WebAction"
|
||||
actionRequestContentType: "@RequestContentType"
|
||||
actionRequestContentTypePrefix: "MediaTypes"
|
||||
testingModule: "misk.web.MiskWebModule"
|
@ -2,7 +2,6 @@ generatorName: kotlin-misk
|
||||
outputDir: samples/server/petstore/kotlin-misk
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-misk
|
||||
validateSpec: false
|
||||
additionalProperties:
|
||||
hideGenerationTimestamp: "true"
|
||||
moduleClassName: "PetStoreModule"
|
8
bin/configs/php-laravel-issue-21334.yaml
Normal file
8
bin/configs/php-laravel-issue-21334.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
generatorName: php-laravel
|
||||
outputDir: samples/server/petstore/php-laravel-issue-21334
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/issue21334.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/php-laravel
|
||||
gitUserId: openapitools
|
||||
gitRepoId: petstore
|
||||
additionalProperties:
|
||||
variableNamingConvention: "original"
|
@ -6,6 +6,7 @@ library: asyncio
|
||||
additionalProperties:
|
||||
packageName: petstore_api
|
||||
mapNumberTo: float
|
||||
poetry1: true
|
||||
nameMappings:
|
||||
_type: underscore_type
|
||||
type_: type_with_underscore
|
||||
|
10
bin/configs/rust-hyper-test-duplicates.yaml
Normal file
10
bin/configs/rust-hyper-test-duplicates.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
generatorName: rust
|
||||
outputDir: samples/client/petstore/rust/hyper/test-duplicates
|
||||
library: hyper
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/test_duplicates.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: "false"
|
||||
packageName: test-duplicates-hyper
|
||||
modelNameMappings:
|
||||
Duplicatetest: another_test
|
12
bin/configs/rust-reqwest-test-duplicates.yaml
Normal file
12
bin/configs/rust-reqwest-test-duplicates.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
generatorName: rust
|
||||
outputDir: samples/client/petstore/rust/reqwest/test-duplicates
|
||||
library: reqwest
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/test_duplicates.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: false
|
||||
packageName: test-duplicates-reqwest
|
||||
enumNameMappings:
|
||||
delivered: shipped
|
||||
modelNameMappings:
|
||||
Duplicatetest: another_test
|
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
|
8
bin/configs/typescript-angular-v19-deep-object.yaml
Normal file
8
bin/configs/typescript-angular-v19-deep-object.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
generatorName: typescript-angular
|
||||
outputDir: samples/client/petstore/typescript-angular-v19/builds/deep-object
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/deep-object-query.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
|
||||
additionalProperties:
|
||||
ngVersion: 19.0.0
|
||||
npmName: sample-angular-19-0-0-deep-object
|
||||
supportsES6: 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
|
||||
|
@ -401,6 +401,32 @@ or
|
||||
--import-mappings Pet=my.models.MyPet --import-mappings Order=my.models.MyOrder
|
||||
```
|
||||
|
||||
## Default Values
|
||||
|
||||
To customize the default values for containers, one can leverage the option `defaultToEmptyContainer` to customize what to initalize for array/set/map by respecting the default values in the spec
|
||||
|
||||
Set optional array and map default value to an empty container
|
||||
```
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/output --additional-properties defaultToEmptyContainer="array?|map?"
|
||||
```
|
||||
|
||||
Set nullable array (required) default value to an empty container
|
||||
```
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/output --additional-properties defaultToEmptyContainer="?array"
|
||||
```
|
||||
|
||||
Set nullable array (optional) default value to an empty container
|
||||
```
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/output --additional-properties defaultToEmptyContainer="?array?"
|
||||
```
|
||||
|
||||
To simply enable this option to respect default values in the specification (basically null if not specified):
|
||||
```
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /tmp/output --additional-properties defaultToEmptyContainer=""
|
||||
```
|
||||
|
||||
Note: not all generators support this generator's option (e.g. --additional-properties defaultToEmptyContainer="?array" in CLI) so please test to confirm. Java generators are the first to implement this feature. We welcome PRs to support this option in other generators. Related PR: https://github.com/OpenAPITools/openapi-generator/pull/21269
|
||||
|
||||
## Name Mapping
|
||||
|
||||
One can map the property name using `nameMappings` option and parameter name using `parameterNameMappings` option to something else. Consider the following schema:
|
||||
|
@ -7,7 +7,7 @@ title: "FAQ: General"
|
||||
|
||||
Yes, we use Slack.
|
||||
|
||||
[](https://join.slack.com/t/openapi-generator/shared_invite/zt-2wmkn4s8g-n19PJ99Y6Vei74WMUIehQA)
|
||||
[](https://join.slack.com/t/openapi-generator/shared_invite/zt-36ucx4ybl-jYrN6euoYn6zxXNZdldoZA)
|
||||
|
||||
## What is the governance structure of the OpenAPI Generator project?
|
||||
|
||||
|
@ -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)
|
||||
|
@ -44,7 +44,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|packageName|C# package name (convention: Title.Case).| |Org.OpenAPITools|
|
||||
|packageTags|Tags to identify the package| |null|
|
||||
|packageVersion|C# package version.| |1.0.0|
|
||||
|releaseNote|Release note, default to 'Minor update'.| |Minor update|
|
||||
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|
||||
|sourceFolder|source folder for generated code| |src|
|
||||
|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|<dl><dt>**netstandard1.3**</dt><dd>.NET Standard 1.3</dd><dt>**netstandard1.4**</dt><dd>.NET Standard 1.4</dd><dt>**netstandard1.5**</dt><dd>.NET Standard 1.5</dd><dt>**netstandard1.6**</dt><dd>.NET Standard 1.6</dd><dt>**netstandard2.0**</dt><dd>.NET Standard 2.0</dd><dt>**netstandard2.1**</dt><dd>.NET Standard 2.1</dd><dt>**net47**</dt><dd>.NET Framework 4.7</dd><dt>**net48**</dt><dd>.NET Framework 4.8</dd><dt>**net8.0**</dt><dd>.NET 8.0 (End of Support 10 November 2026)</dd><dt>**net9.0**</dt><dd>.NET 9.0 (End of Support 12 May 2026)</dd></dl>|net9.0|
|
||||
|
@ -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|
|
||||
|
@ -101,7 +101,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useRuntimeException|Use RuntimeException instead of Exception. Only jersey2, jersey3, okhttp-gson, vertx, microprofile support this option.| |false|
|
||||
|useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY native, jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|webclientBlockingOperations|Making all WebClient operations blocking(sync). Note that if on operation 'x-webclient-blocking: false' then such operation won't be sync| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support (only available for okhttp-gson library)| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
@ -101,7 +101,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useRuntimeException|Use RuntimeException instead of Exception. Only jersey2, jersey3, okhttp-gson, vertx, microprofile support this option.| |false|
|
||||
|useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY native, jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|webclientBlockingOperations|Making all WebClient operations blocking(sync). Note that if on operation 'x-webclient-blocking: false' then such operation won't be sync| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support (only available for okhttp-gson library)| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
@ -18,11 +18,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
| Option | Description | Values | Default |
|
||||
| ------ | ----------- | ------ | ------- |
|
||||
|actionAnnotations|String Annotations for Actions separated by a semicolon(;)| |@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)|
|
||||
|actionImports|String Imports for Actions separated by a semicolon(;)| |misk.web.actions.WebAction;misk.web.interceptors.LogRequestResponse|
|
||||
|actionParentClass|Parent Class for Action| |WebAction|
|
||||
|actionPathPrefix|Prefix for action path| ||
|
||||
|actionRequestContentType|Request ContentType for Action| |@RequestContentType|
|
||||
|actionRequestContentTypePrefix|Request ContentType Prefix for Action| |MediaTypes|
|
||||
|addModelMoshiJsonAnnotation|Add a Moshi JSON adapter annotation to all model classes| |true|
|
||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||
|apiSuffix|suffix for api classes| |Api|
|
||||
|artifactId|Generated artifact id (name of jar).| |null|
|
||||
|artifactVersion|Generated artifact's package version.| |1.0.0|
|
||||
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|
||||
|generateStubImplClasses|Generate Stub Impl Classes| |false|
|
||||
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|
||||
|modelMutable|Create mutable models| |false|
|
||||
|moduleClassName|Name of the generated module class| |OpenApiModule|
|
||||
@ -32,6 +40,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |null|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |null|
|
||||
|sourceFolder|source folder for generated code| |src/main/kotlin|
|
||||
|testingModule|Testing module class| |misk.testing.MiskTestModule|
|
||||
|useBeanValidation|Use BeanValidation API annotations to validate data types| |true|
|
||||
|
||||
## IMPORT MAPPING
|
||||
@ -273,7 +282,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
### Wire Format Feature
|
||||
| Name | Supported | Defined By |
|
||||
| ---- | --------- | ---------- |
|
||||
|JSON|✗|OAS2,OAS3
|
||||
|JSON|✓|OAS2,OAS3
|
||||
|XML|✗|OAS2,OAS3
|
||||
|PROTOBUF|✓|ToolingExtension
|
||||
|Custom|✗|OAS2,OAS3
|
||||
|
@ -38,7 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -38,7 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |camelCase|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|camelCase|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -38,7 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -37,7 +37,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -38,7 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -39,7 +39,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|supportStreaming|Support streaming endpoint| |false|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -38,7 +38,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |camelCase|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|camelCase|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -43,7 +43,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -39,7 +39,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|srcBasePath|The directory to serve as source root.| |null|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |snake_case|
|
||||
|variableNamingConvention|naming convention of variable name, e.g. camelCase.|<dl><dt>**camelCase**</dt><dd>Use camelCase convention</dd><dt>**PascalCase**</dt><dd>Use PascalCase convention</dd><dt>**snake_case**</dt><dd>Use snake_case convention</dd><dt>**original**</dt><dd>Do not change the variable name</dd></dl>|snake_case|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
|
@ -29,6 +29,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|packageName|python package name (convention: snake_case).| |openapi_client|
|
||||
|packageUrl|python package URL.| |null|
|
||||
|packageVersion|python package version.| |1.0.0|
|
||||
|poetry1|Fallback to formatting pyproject.toml to Poetry 1.x format.| |null|
|
||||
|projectName|python project name in setup.py (e.g. petstore-api).| |null|
|
||||
|recursionLimit|Set the recursion limit. If not set, use the system default value.| |null|
|
||||
|setEnsureAsciiToFalse|When set to true, add `ensure_ascii=False` in json.dumps when creating the HTTP request body.| |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
|
@ -18,7 +18,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
| Option | Description | Values | Default |
|
||||
| ------ | ----------- | ------ | ------- |
|
||||
|akkaHttpVersion|The version of akka-http| |10.1.10|
|
||||
|akkaHttpVersion|The version of akka-http| |10.2.9|
|
||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||
|apiPackage|package for generated api classes| |null|
|
||||
|artifactId|artifactId| |openapi-scala-akka-http-server|
|
||||
|
@ -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>
|
||||
|
@ -27,6 +27,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase|
|
||||
|enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false|
|
||||
|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|
|
||||
|importFileExtension|File extension to use with relative imports. Set it to '.js' or '.mjs' when using [ESM](https://nodejs.org/api/esm.html).| ||
|
||||
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|
||||
|licenseName|The name of the license| |Unlicense|
|
||||
|modelPackage|package for generated models| |null|
|
||||
@ -65,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.9.0/openapi-generator-cli-7.9.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.9.0/openapi-generator-cli-7.9.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.9.0/openapi-generator-cli-7.9.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>
|
||||
|
@ -820,15 +820,21 @@ Many generators (*those extending DefaultCodegen*) come with a small set of lamb
|
||||
|
||||
- `lowercase` - Converts all of the characters in this fragment to lower case using the rules of the `ROOT` locale.
|
||||
- `uppercase` - Converts all of the characters in this fragment to upper case using the rules of the `ROOT` locale.
|
||||
- `snakecase` - Converts text in a fragment to snake case. For example `once upon a time` to `once_upon_a_time`.
|
||||
- `titlecase` - Converts text in a fragment to title case. For example `once upon a time` to `Once Upon A Time`.
|
||||
- `kebabcase` - Converts text in a fragment to snake case. For example `Once Upon A Time` to `once-upon-a-time`.
|
||||
- `pascalcase` - Converts text in a fragment to snake case. For example `once upon a time` to `OnceUponATime`.
|
||||
- `camelcase` - Converts text in a fragment to camelCase. For example `Input-text` to `inputText`.
|
||||
- `uncamelize` - Converts text in a fragment from camelCase or PascalCase to a string of words separated by whitespaces. For example `inputText` to `Input Text`.
|
||||
- `forwardslash` - Replaces all occurrences of `\/`, `\` and `//` in a fragment by `/`.
|
||||
- `backslash` - Replaces all occurrences `/` in a fragment by `\`.
|
||||
- `doublequote` - Prepends `"` to the beginning and appends `"` to the end of a fragment.
|
||||
- `indented` - Prepends 4 spaces indention from second line of a fragment on. First line will be indented by Mustache.
|
||||
- `indented_8` - Prepends 8 spaces indention from second line of a fragment on. First line will be indented by Mustache.
|
||||
- `indented_12` - Prepends 12 spaces indention from second line of a fragment on. First line will be indented by Mustache.
|
||||
- `indented_16` -Prepends 16 spaces indention from second line of a fragment on. First line will be indented by Mustache.
|
||||
|
||||
Lambda is invoked by `lambda.[lambda name]` expression. For example: `{{#lambda.lowercase}}FRAGMENT TO LOWERCASE{{/lambda.lowercase}}` to lower case text between `lambda.lowercase`.
|
||||
Some generators provide additional lambdas. Lambda is invoked by `lambda.[lambda name]` expression. For example: `{{#lambda.lowercase}}FRAGMENT TO LOWERCASE{{/lambda.lowercase}}` to lower case text between `lambda.lowercase`.
|
||||
|
||||
## Extensions
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.13.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.13.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.13.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.13.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.13.0
|
||||
openApiGeneratorVersion=7.15.0-SNAPSHOT
|
||||
# /RELEASE_VERSION
|
||||
|
@ -117,6 +117,7 @@ class OpenApiGeneratorPlugin : Plugin<Project> {
|
||||
additionalProperties.set(generate.additionalProperties)
|
||||
serverVariables.set(generate.serverVariables)
|
||||
languageSpecificPrimitives.set(generate.languageSpecificPrimitives)
|
||||
openapiGeneratorIgnoreList.set(generate.openapiGeneratorIgnoreList)
|
||||
importMappings.set(generate.importMappings)
|
||||
schemaMappings.set(generate.schemaMappings)
|
||||
inlineSchemaNameMappings.set(generate.inlineSchemaNameMappings)
|
||||
|
@ -570,4 +570,55 @@ class GenerateTaskDslTest : TestBase() {
|
||||
"Dry run results message is missing."
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `openapiGenerate should set openapiGeneratorIgnoreList option`() {
|
||||
// Arrange
|
||||
val projectFiles = mapOf(
|
||||
"spec.yaml" to javaClass.classLoader.getResourceAsStream("specs/petstore-v3.0.yaml")
|
||||
)
|
||||
withProject(
|
||||
"""
|
||||
plugins {
|
||||
id 'org.openapi.generator'
|
||||
}
|
||||
openApiGenerate {
|
||||
generatorName = "kotlin"
|
||||
inputSpec = file("spec.yaml").absolutePath
|
||||
outputDir = file("build/kotlin").absolutePath
|
||||
apiPackage = "org.openapitools.example.api"
|
||||
invokerPackage = "org.openapitools.example.invoker"
|
||||
modelPackage = "org.openapitools.example.model"
|
||||
configOptions = [
|
||||
dateLibrary: "java8"
|
||||
]
|
||||
openapiGeneratorIgnoreList = ["README.md"]
|
||||
}
|
||||
""".trimIndent(),
|
||||
projectFiles
|
||||
)
|
||||
|
||||
// Act
|
||||
val result = GradleRunner.create()
|
||||
.withProjectDir(temp)
|
||||
.withArguments("openApiGenerate")
|
||||
.withPluginClasspath()
|
||||
.build()
|
||||
|
||||
// Assert
|
||||
assertTrue(
|
||||
result.output.contains("Successfully generated code to"),
|
||||
"User friendly generate notice is missing."
|
||||
)
|
||||
|
||||
assertTrue(
|
||||
"README.md" !in File(temp, "build/kotlin/").list(),
|
||||
"README.md should not be generated when it is in the openapiGeneratorIgnoreList."
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
TaskOutcome.SUCCESS, result.task(":openApiGenerate")?.outcome,
|
||||
"Expected a successful run, but found ${result.task(":openApiGenerate")?.outcome}"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -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.13.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.13.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.13.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.13.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.13.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.13.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.13.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -563,12 +563,18 @@ public class CodeGenMojo extends AbstractMojo {
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(inputSpecRootDirectory)) {
|
||||
// make sure the path can be processed correct under Windows OS
|
||||
inputSpecRootDirectory = inputSpecRootDirectory.replaceAll("\\\\", "/");
|
||||
|
||||
inputSpec = new MergedSpecBuilder(inputSpecRootDirectory, mergedFileName,
|
||||
mergedFileInfoName, mergedFileInfoDescription, mergedFileInfoVersion)
|
||||
.buildMergedSpec();
|
||||
LOGGER.info("Merge input spec would be used - {}", inputSpec);
|
||||
}
|
||||
|
||||
// make sure the path can be processed correct under Windows OS
|
||||
inputSpec = inputSpec.replaceAll("\\\\", "/");
|
||||
|
||||
File inputSpecFile = new File(inputSpec);
|
||||
|
||||
if (output == null) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.13.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.13.0</version>
|
||||
<version>7.15.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
@ -145,6 +145,43 @@
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>${maven-release-plugin.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.antlr</groupId>
|
||||
<artifactId>antlr4-maven-plugin</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>generate-test-sources</phase>
|
||||
<goals>
|
||||
<goal>antlr4</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<sourceDirectory>${basedir}/src/test/antlr4</sourceDirectory>
|
||||
<libDirectory>${basedir}/src/test/antlr4/imports</libDirectory>
|
||||
<outputDirectory>${project.build.directory}/generated-test-sources/antlr4</outputDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<version>3.6.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-test-source</id>
|
||||
<phase>generate-test-sources</phase>
|
||||
<goals>
|
||||
<goal>add-test-source</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sources>
|
||||
<source>${project.build.directory}/generated-test-sources/antlr4</source>
|
||||
</sources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<profiles>
|
||||
@ -464,6 +501,12 @@
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
<version>${snakeyaml.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.antlr</groupId>
|
||||
<artifactId>antlr4-runtime</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<repositories>
|
||||
<repository>
|
||||
|
@ -118,7 +118,6 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
* p2:
|
||||
* type: string
|
||||
*
|
||||
* @return the discriminator.
|
||||
*/
|
||||
@Getter public CodegenDiscriminator discriminator;
|
||||
@Getter @Setter
|
||||
|
@ -24,15 +24,13 @@ import java.util.*;
|
||||
|
||||
public class CodegenOperation {
|
||||
public final List<CodegenProperty> responseHeaders = new ArrayList<CodegenProperty>();
|
||||
public boolean hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams, hasRequiredParams,
|
||||
public boolean hasAuthMethods, hasConsumes, hasProduces, hasOptionalParams,
|
||||
returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
|
||||
isArray, isMultipart, isVoid = false,
|
||||
hasVersionHeaders = false, hasVersionQueryParams = false,
|
||||
isResponseBinary = false, isResponseFile = false, isResponseOptional = false, hasReference = false, defaultReturnType = false,
|
||||
isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy,
|
||||
isRestful, isDeprecated, isCallbackRequest, uniqueItems, hasDefaultResponse = false, hasOnlyDefaultResponse = false, hasConstantParams = false,
|
||||
hasErrorResponseObject, // if 4xx, 5xx responses have at least one error object defined
|
||||
hasSingleParam = false; // if the operation has only one parameter;
|
||||
isDeprecated, isCallbackRequest, uniqueItems,
|
||||
hasErrorResponseObject; // if 4xx, 5xx responses have at least one error object defined
|
||||
public CodegenProperty returnProperty;
|
||||
public String path, operationId, returnType, returnFormat, httpMethod, returnBaseType,
|
||||
returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse;
|
||||
@ -81,6 +79,33 @@ public class CodegenOperation {
|
||||
return params != null && !params.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if there's at least one parameter
|
||||
*
|
||||
* @return true if parameter exists, false otherwise
|
||||
*/
|
||||
public boolean getHasParams() {
|
||||
return nonEmpty(allParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if there's at least one required parameter
|
||||
*
|
||||
* @return true if required parameter exists, false otherwise
|
||||
*/
|
||||
public boolean getHasRequiredParam() {
|
||||
return nonEmpty(requiredParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if there's exactly one parameter
|
||||
*
|
||||
* @return true if exactly one parameter exists, false otherwise
|
||||
*/
|
||||
public boolean getHasSingleParam() {
|
||||
return allParams.size() == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if there's at least one body parameter
|
||||
*
|
||||
@ -362,9 +387,7 @@ public class CodegenOperation {
|
||||
sb.append(", hasAuthMethods=").append(hasAuthMethods);
|
||||
sb.append(", hasConsumes=").append(hasConsumes);
|
||||
sb.append(", hasProduces=").append(hasProduces);
|
||||
sb.append(", hasParams=").append(hasParams);
|
||||
sb.append(", hasOptionalParams=").append(hasOptionalParams);
|
||||
sb.append(", hasRequiredParams=").append(hasRequiredParams);
|
||||
sb.append(", returnTypeIsPrimitive=").append(returnTypeIsPrimitive);
|
||||
sb.append(", returnSimpleType=").append(returnSimpleType);
|
||||
sb.append(", subresourceOperation=").append(subresourceOperation);
|
||||
@ -377,16 +400,7 @@ public class CodegenOperation {
|
||||
sb.append(", isResponseFile=").append(isResponseFile);
|
||||
sb.append(", isResponseOptional=").append(isResponseOptional);
|
||||
sb.append(", hasReference=").append(hasReference);
|
||||
sb.append(", hasDefaultResponse=").append(hasDefaultResponse);
|
||||
sb.append(", hasOnlyDefaultResponse=").append(hasOnlyDefaultResponse);
|
||||
sb.append(", hasErrorResponseObject=").append(hasErrorResponseObject);
|
||||
sb.append(", hasSingleParam=").append(hasSingleParam);
|
||||
sb.append(", isRestfulIndex=").append(isRestfulIndex);
|
||||
sb.append(", isRestfulShow=").append(isRestfulShow);
|
||||
sb.append(", isRestfulCreate=").append(isRestfulCreate);
|
||||
sb.append(", isRestfulUpdate=").append(isRestfulUpdate);
|
||||
sb.append(", isRestfulDestroy=").append(isRestfulDestroy);
|
||||
sb.append(", isRestful=").append(isRestful);
|
||||
sb.append(", isDeprecated=").append(isDeprecated);
|
||||
sb.append(", isCallbackRequest=").append(isCallbackRequest);
|
||||
sb.append(", uniqueItems='").append(uniqueItems);
|
||||
@ -445,9 +459,7 @@ public class CodegenOperation {
|
||||
return hasAuthMethods == that.hasAuthMethods &&
|
||||
hasConsumes == that.hasConsumes &&
|
||||
hasProduces == that.hasProduces &&
|
||||
hasParams == that.hasParams &&
|
||||
hasOptionalParams == that.hasOptionalParams &&
|
||||
hasRequiredParams == that.hasRequiredParams &&
|
||||
returnTypeIsPrimitive == that.returnTypeIsPrimitive &&
|
||||
returnSimpleType == that.returnSimpleType &&
|
||||
subresourceOperation == that.subresourceOperation &&
|
||||
@ -459,16 +471,7 @@ public class CodegenOperation {
|
||||
isResponseFile == that.isResponseFile &&
|
||||
isResponseOptional == that.isResponseOptional &&
|
||||
hasReference == that.hasReference &&
|
||||
hasDefaultResponse == that.hasDefaultResponse &&
|
||||
hasOnlyDefaultResponse == that.hasOnlyDefaultResponse &&
|
||||
hasErrorResponseObject == that.hasErrorResponseObject &&
|
||||
hasSingleParam == that.hasSingleParam &&
|
||||
isRestfulIndex == that.isRestfulIndex &&
|
||||
isRestfulShow == that.isRestfulShow &&
|
||||
isRestfulCreate == that.isRestfulCreate &&
|
||||
isRestfulUpdate == that.isRestfulUpdate &&
|
||||
isRestfulDestroy == that.isRestfulDestroy &&
|
||||
isRestful == that.isRestful &&
|
||||
isDeprecated == that.isDeprecated &&
|
||||
isCallbackRequest == that.isCallbackRequest &&
|
||||
uniqueItems == that.uniqueItems &&
|
||||
@ -522,16 +525,15 @@ public class CodegenOperation {
|
||||
@Override
|
||||
public int hashCode() {
|
||||
|
||||
return Objects.hash(responseHeaders, hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams,
|
||||
hasRequiredParams, returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
|
||||
return Objects.hash(responseHeaders, hasAuthMethods, hasConsumes, hasProduces, hasOptionalParams,
|
||||
returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
|
||||
isArray, isMultipart, isVoid, isResponseBinary, isResponseFile, isResponseOptional, hasReference,
|
||||
hasDefaultResponse, hasOnlyDefaultResponse, isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy,
|
||||
isRestful, isDeprecated, isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod,
|
||||
isDeprecated, isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod,
|
||||
returnBaseType, returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse,
|
||||
discriminator, consumes, produces, prioritizedContentTypes, servers, bodyParam, allParams, bodyParams,
|
||||
pathParams, queryParams, headerParams, formParams, cookieParams, requiredParams, returnProperty, optionalParams,
|
||||
authMethods, tags, responses, callbacks, imports, examples, requestBodyExamples, externalDocs,
|
||||
vendorExtensions, nickname, operationIdOriginal, operationIdLowerCase, operationIdCamelCase,
|
||||
operationIdSnakeCase, hasErrorResponseObject, hasSingleParam, requiredAndNotNullableParams, notNullableParams, constantParams);
|
||||
operationIdSnakeCase, hasErrorResponseObject, requiredAndNotNullableParams, notNullableParams, constantParams);
|
||||
}
|
||||
}
|
||||
|
@ -128,7 +128,6 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
public boolean exclusiveMaximum;
|
||||
@Setter public boolean required;
|
||||
public boolean deprecated;
|
||||
public boolean hasMoreNonReadOnly; // for model constructor, true if next property is not readonly
|
||||
public boolean isPrimitiveType;
|
||||
public boolean isModel;
|
||||
/**
|
||||
@ -995,7 +994,6 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
sb.append(", exclusiveMaximum=").append(exclusiveMaximum);
|
||||
sb.append(", required=").append(required);
|
||||
sb.append(", deprecated=").append(deprecated);
|
||||
sb.append(", hasMoreNonReadOnly=").append(hasMoreNonReadOnly);
|
||||
sb.append(", isPrimitiveType=").append(isPrimitiveType);
|
||||
sb.append(", isModel=").append(isModel);
|
||||
sb.append(", isContainer=").append(isContainer);
|
||||
@ -1092,7 +1090,6 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
exclusiveMaximum == that.exclusiveMaximum &&
|
||||
required == that.required &&
|
||||
deprecated == that.deprecated &&
|
||||
hasMoreNonReadOnly == that.hasMoreNonReadOnly &&
|
||||
isPrimitiveType == that.isPrimitiveType &&
|
||||
isModel == that.isModel &&
|
||||
isContainer == that.isContainer &&
|
||||
@ -1209,7 +1206,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
defaultValueWithParam, baseType, containerType, containerTypeMapped, title, unescapedDescription,
|
||||
maxLength, minLength, pattern, example, jsonSchema, minimum, maximum,
|
||||
exclusiveMinimum, exclusiveMaximum, required, deprecated,
|
||||
hasMoreNonReadOnly, isPrimitiveType, isModel, isContainer, isString, isNumeric,
|
||||
isPrimitiveType, isModel, isContainer, isString, isNumeric,
|
||||
isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isFile,
|
||||
isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isPassword, isFreeFormObject,
|
||||
isArray, isMap, isOptional, isEnum, isInnerEnum, isEnumRef, isAnyType, isReadOnly, isWriteOnly, isNullable, isShort,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user