diff --git a/.circleci/config.yml b/.circleci/config.yml
index 357b068edf86..10d3e1544a64 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -15,6 +15,15 @@ commands: # a reusable command with parameters
- source-v2-
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
+ - run:
+ name: Install Headless Chrome dependencies
+ command: |
+ sudo apt-get update && sudo apt-get install -yq \
+ gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
+ libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
+ libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
+ libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \
+ fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm1
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
diff --git a/.github/workflows/check-supported-versions.yaml b/.github/workflows/check-supported-versions.yaml
index a76a1b837051..350c008e9004 100644
--- a/.github/workflows/check-supported-versions.yaml
+++ b/.github/workflows/check-supported-versions.yaml
@@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
diff --git a/.github/workflows/gradle-test.yaml b/.github/workflows/gradle-test.yaml
index a5c021cdba50..09ad3815645c 100644
--- a/.github/workflows/gradle-test.yaml
+++ b/.github/workflows/gradle-test.yaml
@@ -34,7 +34,7 @@ jobs:
- samples/client/petstore/java/okhttp-gson
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
diff --git a/.github/workflows/openapi-generator.yaml b/.github/workflows/openapi-generator.yaml
index 2021fbc8916e..bd062d7d037e 100644
--- a/.github/workflows/openapi-generator.yaml
+++ b/.github/workflows/openapi-generator.yaml
@@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'temurin'
@@ -53,7 +53,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'temurin'
@@ -88,7 +88,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'temurin'
@@ -127,7 +127,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 8
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'temurin'
@@ -162,7 +162,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
@@ -195,7 +195,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
diff --git a/.github/workflows/samples-dart.yaml b/.github/workflows/samples-dart.yaml
index cdc546175675..e413e1da5846 100644
--- a/.github/workflows/samples-dart.yaml
+++ b/.github/workflows/samples-dart.yaml
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
@@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-groovy.yaml b/.github/workflows/samples-groovy.yaml
index 7263f198f5d3..e9c1f791aad9 100644
--- a/.github/workflows/samples-groovy.yaml
+++ b/.github/workflows/samples-groovy.yaml
@@ -22,7 +22,7 @@ jobs:
- samples/client/petstore/groovy
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-java-client-jdk11.yaml b/.github/workflows/samples-java-client-jdk11.yaml
index 91478fc371c0..30198191d235 100644
--- a/.github/workflows/samples-java-client-jdk11.yaml
+++ b/.github/workflows/samples-java-client-jdk11.yaml
@@ -39,7 +39,7 @@ jobs:
- samples/client/petstore/java/jersey1
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
diff --git a/.github/workflows/samples-java-play-framework.yaml b/.github/workflows/samples-java-play-framework.yaml
index 8498b1bdc8ee..083f003073e7 100644
--- a/.github/workflows/samples-java-play-framework.yaml
+++ b/.github/workflows/samples-java-play-framework.yaml
@@ -30,7 +30,7 @@ jobs:
- samples/server/petstore/java-play-framework-no-wrap-calls
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
diff --git a/.github/workflows/samples-jaxrs.yaml b/.github/workflows/samples-jaxrs.yaml
index b7ef9bbdb1ca..8e5e77cd8da8 100644
--- a/.github/workflows/samples-jaxrs.yaml
+++ b/.github/workflows/samples-jaxrs.yaml
@@ -40,7 +40,7 @@ jobs:
- samples/server/petstore/jaxrs-cxf-non-spring-app
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-kotlin-client.yaml b/.github/workflows/samples-kotlin-client.yaml
index 0eb2494b8120..009733cce67a 100644
--- a/.github/workflows/samples-kotlin-client.yaml
+++ b/.github/workflows/samples-kotlin-client.yaml
@@ -41,7 +41,7 @@ jobs:
- samples/client/petstore/kotlin-array-simple-string
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-kotlin-server.yaml b/.github/workflows/samples-kotlin-server.yaml
index 2b1ce76c3ef8..ad5111234088 100644
--- a/.github/workflows/samples-kotlin-server.yaml
+++ b/.github/workflows/samples-kotlin-server.yaml
@@ -31,7 +31,7 @@ jobs:
#- samples/server/petstore/kotlin-vertx-modelMutable
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-scala.yaml b/.github/workflows/samples-scala.yaml
index 041640421345..9b91e8ca2b29 100644
--- a/.github/workflows/samples-scala.yaml
+++ b/.github/workflows/samples-scala.yaml
@@ -27,7 +27,7 @@ jobs:
- samples/server/petstore/scala-finch # cannot be tested with jdk11
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/samples-spring.yaml b/.github/workflows/samples-spring.yaml
index 29eb25c89a38..aa3371a9b075 100644
--- a/.github/workflows/samples-spring.yaml
+++ b/.github/workflows/samples-spring.yaml
@@ -42,7 +42,7 @@ jobs:
- samples/openapi3/server/petstore/spring-boot-oneof
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-java@v2
+ - uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml
index a256fc200c10..4df69baebf76 100644
--- a/.github/workflows/sonar.yml
+++ b/.github/workflows/sonar.yml
@@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
- uses: actions/setup-java@v2
+ uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
diff --git a/README.md b/README.md
index c4b1a04b267a..d068ec7671e1 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
| | Languages/Frameworks |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient, Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client), **k6**, **Kotlin**, **Lua**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (2.x - 11.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) |
+| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient, Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client), **k6**, **Kotlin**, **Lua**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (2.x - 13.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) |
| **Server stubs** | **Ada**, **C#** (ASP.NET Core, Azure Functions), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin, Echo), **Haskell** (Servant, Yesod), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, Jersey, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples), [Vert.x](https://vertx.io/), [Apache Camel](https://camel.apache.org/)), **Kotlin** (Spring Boot, Ktor, Vertx), **PHP** (Laravel, Lumen, [Mezzio (fka Zend Expressive)](https://github.com/mezzio/mezzio), Slim, Silex, [Symfony](https://symfony.com/)), **Python** (FastAPI, Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** (Akka, [Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra) |
| **API documentation generators** | **HTML**, **Confluence Wiki**, **Asciidoc**, **Markdown**, **PlantUML** |
| **Configuration files** | [**Apache2**](https://httpd.apache.org/) |
@@ -841,6 +841,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2022-01-02 - [Towards a secure API client generator for IoT devices](https://arxiv.org/abs/2201.00270) by Anders Aaen Springborg, Martin Kaldahl Andersen, Kaare Holland Hattel, Michele Albano
- 2022-02-02 - [Use OpenApi generator to share your models between Flutter and your backend](https://www.youtube.com/watch?v=kPW7ccu9Yvk) by [Guillaume Bernos](https://feb2022.fluttervikings.com/speakers/guillaume_bernos) at [Flutter Vikings Conference 2022 (Hybrid)](https://feb2022.fluttervikings.com/)
- 2022-03-15 - [OpenAPI Specでハイフン区切りのEnum値をOpenAPI Generatorで出力すると、ハイフン区切りのまま出力される](https://qiita.com/yuji38kwmt/items/824d74d4889055ab37d8) by [yuji38kwmt](https://qiita.com/yuji38kwmt)
+- 2022-04-01 - [OpenAPI Generatorのコード生成とSpring Frameworkのカスタムデータバインディングを共存させる](https://techblog.zozo.com/entry/coexistence-of-openapi-and-spring) in [ZOZO Tech Blog](https://techblog.zozo.com/)
## [6 - About Us](#table-of-contents)
diff --git a/appveyor.yml b/appveyor.yml
index 85b45d481329..6c136913908b 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -101,15 +101,8 @@ test_script:
# test ps petstore
- ps: |
- $ErrorActionPreference = "Stop"
cd samples\client\petstore\powershell\
- .\Build.ps1
- Import-Module -Name '.\src\PSPetstore'
- $Result = Invoke-Pester -PassThru
- if ($Result.FailedCount -gt 0) {
- $host.SetShouldExit($Result.FailedCount)
- exit $Result.FailedCount
- }
+ .\CIRunTest.ps1
cache:
- C:\maven\
- C:\gradle\
diff --git a/bin/configs/dart-dio-next-petstore-client-lib-fake.yaml b/bin/configs/dart-dio-next-petstore-client-lib-fake.yaml
index edcc346a19fe..0f8885e6a73c 100644
--- a/bin/configs/dart-dio-next-petstore-client-lib-fake.yaml
+++ b/bin/configs/dart-dio-next-petstore-client-lib-fake.yaml
@@ -8,3 +8,4 @@ typeMappings:
EnumClass: "ModelEnumClass"
additionalProperties:
hideGenerationTimestamp: "true"
+ enumUnknownDefaultCase: "true"
diff --git a/bin/configs/dart-dio-petstore-client-lib.yaml b/bin/configs/dart-dio-petstore-client-lib.yaml
index 8db24ccb0cec..929f403957a4 100644
--- a/bin/configs/dart-dio-petstore-client-lib.yaml
+++ b/bin/configs/dart-dio-petstore-client-lib.yaml
@@ -4,3 +4,4 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/dart-dio
additionalProperties:
hideGenerationTimestamp: "true"
+ enumUnknownDefaultCase: "true"
diff --git a/bin/configs/java-jersey3.yaml b/bin/configs/java-jersey3.yaml
new file mode 100644
index 000000000000..50ea3258eca4
--- /dev/null
+++ b/bin/configs/java-jersey3.yaml
@@ -0,0 +1,13 @@
+generatorName: java
+outputDir: samples/client/petstore/java/jersey3
+library: jersey3
+inputSpec: modules/openapi-generator/src/test/resources/3_0/java/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
+templateDir: modules/openapi-generator/src/main/resources/Java
+additionalProperties:
+ artifactId: petstore-jersey3
+ hideGenerationTimestamp: true
+ serverPort: "8082"
+ dateLibrary: java8
+ useOneOfDiscriminatorLookup: true
+ disallowAdditionalPropertiesIfNotPresent: false
+ gradleProperties: "\n# JVM arguments\norg.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m\n# set timeout\norg.gradle.daemon.idletimeout=3600000\n# show all warnings\norg.gradle.warning.mode=all"
diff --git a/bin/configs/powershell.yaml b/bin/configs/powershell.yaml
index c31d09aa13c3..9a408c2ad176 100644
--- a/bin/configs/powershell.yaml
+++ b/bin/configs/powershell.yaml
@@ -1,6 +1,6 @@
generatorName: powershell
outputDir: samples/client/petstore/powershell
-inputSpec: modules/openapi-generator/src/test/resources/3_0/powershell/petstore.yaml
+inputSpec: modules/openapi-generator/src/test/resources/3_0/powershell/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/powershell
additionalProperties:
packageGuid: a27b908d-2a20-467f-bc32-af6f3a654ac5
diff --git a/bin/configs/typescript-consolidated-browser.yaml b/bin/configs/typescript-consolidated-browser.yaml
new file mode 100644
index 000000000000..8ea49d065b2b
--- /dev/null
+++ b/bin/configs/typescript-consolidated-browser.yaml
@@ -0,0 +1,10 @@
+generatorName: typescript
+outputDir: samples/openapi3/client/petstore/typescript/builds/browser
+inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
+templateDir: modules/openapi-generator/src/main/resources/typescript
+additionalProperties:
+ framework: fetch-api
+ npmName: ts-petstore-client
+ projectName: ts-petstore-client
+ moduleName: petstore
+ supportsES6: true
diff --git a/bin/configs/typescript-with-unique-items.yaml b/bin/configs/typescript-consolidated-with-unique-items.yaml
similarity index 100%
rename from bin/configs/typescript-with-unique-items.yaml
rename to bin/configs/typescript-consolidated-with-unique-items.yaml
diff --git a/docs/generators/java.md b/docs/generators/java.md
index 5184e5f56f7b..d2988169c0f5 100644
--- a/docs/generators/java.md
+++ b/docs/generators/java.md
@@ -52,7 +52,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|implicitHeadersRegex|Skip header parameters that matches given regex in the generated API methods using @ApiImplicitParams annotation. Note: this parameter is ignored when implicitHeaders=true| |null|
|invokerPackage|root package for generated code| |org.openapitools.client|
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|
**true**
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
**false**
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.
|true|
-|library|library template (sub-template) to use|
**jersey1**
HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey2' or other HTTP libraries instead.
**jersey2**
HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x
**feign**
HTTP client: OpenFeign 10.x. JSON processing: Jackson 2.9.x.
**okhttp-gson**
[DEFAULT] HTTP client: OkHttp 3.x. JSON processing: Gson 2.8.x. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
**retrofit2**
HTTP client: OkHttp 3.x. JSON processing: Gson 2.x (Retrofit 2.3.0). Enable the RxJava adapter using '-DuseRxJava[2/3]=true'. (RxJava 1.x or 2.x or 3.x)
**resttemplate**
HTTP client: Spring RestTemplate 4.x. JSON processing: Jackson 2.9.x
**webclient**
HTTP client: Spring WebClient 5.x. JSON processing: Jackson 2.9.x
**resteasy**
HTTP client: Resteasy client 3.x. JSON processing: Jackson 2.9.x
**vertx**
HTTP client: VertX client 3.x. JSON processing: Jackson 2.9.x
**google-api-client**
HTTP client: Google API client 1.x. JSON processing: Jackson 2.9.x
**rest-assured**
HTTP client: rest-assured : 4.x. JSON processing: Gson 2.x or Jackson 2.10.x. Only for Java 8
**native**
HTTP client: Java native HttpClient. JSON processing: Jackson 2.9.x. Only for Java11+
|okhttp-gson|
+|library|library template (sub-template) to use|
**jersey1**
HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey3' or other HTTP libraries instead.
**jersey2**
HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x
**jersey3**
HTTP client: Jersey client 3.x. JSON processing: Jackson 2.x
**feign**
HTTP client: OpenFeign 10.x. JSON processing: Jackson 2.9.x.
**okhttp-gson**
[DEFAULT] HTTP client: OkHttp 3.x. JSON processing: Gson 2.8.x. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
**retrofit2**
HTTP client: OkHttp 3.x. JSON processing: Gson 2.x (Retrofit 2.3.0). Enable the RxJava adapter using '-DuseRxJava[2/3]=true'. (RxJava 1.x or 2.x or 3.x)
**resttemplate**
HTTP client: Spring RestTemplate 4.x. JSON processing: Jackson 2.9.x
**webclient**
HTTP client: Spring WebClient 5.x. JSON processing: Jackson 2.9.x
**resteasy**
HTTP client: Resteasy client 3.x. JSON processing: Jackson 2.9.x
**vertx**
HTTP client: VertX client 3.x. JSON processing: Jackson 2.9.x
**google-api-client**
HTTP client: Google API client 1.x. JSON processing: Jackson 2.9.x
**rest-assured**
HTTP client: rest-assured : 4.x. JSON processing: Gson 2.x or Jackson 2.10.x. Only for Java 8
**native**
HTTP client: Java native HttpClient. JSON processing: Jackson 2.9.x. Only for Java11+