diff --git a/bin/java-petstore-feign.json b/bin/java-petstore-feign.json
index 2b1db7d5f967..f294b7bb6829 100644
--- a/bin/java-petstore-feign.json
+++ b/bin/java-petstore-feign.json
@@ -1,4 +1,7 @@
{
"library": "feign",
- "artifactId": "petstore-feign"
+ "artifactId": "petstore-feign",
+ "additionalProperties": {
+ "useFeign10": true
+ }
}
diff --git a/docs/generators/java.md b/docs/generators/java.md
index 3e9353b55a81..492b3b36d35b 100644
--- a/docs/generators/java.md
+++ b/docs/generators/java.md
@@ -137,7 +137,7 @@ CONFIG OPTIONS for java
library
library template (sub-template) to use (Default: okhttp-gson)
jersey1 - HTTP client: Jersey client 1.19.4. JSON processing: Jackson 2.8.9. Enable Java6 support using '-DsupportJava6=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
- feign - HTTP client: OpenFeign 9.4.0. JSON processing: Jackson 2.8.9
+ feign - HTTP client: OpenFeign 9.4.0. JSON processing: Jackson 2.8.9. Enable OpenFeign 10.0.1 using '-DuseFeign10=true'.
jersey2 - HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.8.9
okhttp-gson - HTTP client: OkHttp 2.7.5. JSON processing: Gson 2.8.1. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
retrofit - HTTP client: OkHttp 2.7.5. JSON processing: Gson 2.3.1 (Retrofit 1.9.0). IMPORTANT NOTE: retrofit1.x is no longer actively maintained so please upgrade to 'retrofit2' instead.
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
index 1df88d403a21..0ed92dbcae9e 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
@@ -19,6 +19,9 @@ import org.apache.oltu.oauth2.common.message.types.GrantType;
import org.apache.oltu.oauth2.common.token.BasicOAuthToken;
import feign.Client;
+{{#useFeign10}}
+import feign.Request.HttpMethod;
+{{/useFeign10}}
import feign.Request.Options;
import feign.RequestInterceptor;
import feign.RequestTemplate;
@@ -92,7 +95,12 @@ public class OAuth implements RequestInterceptor {
try {
accessTokenResponse = oauthClient.accessToken(tokenRequestBuilder.buildBodyMessage());
} catch (Exception e) {
+ {{#useFeign10}}
+ throw new RetryableException(e.getMessage(), HttpMethod.POST, e, null);
+ {{/useFeign10}}
+ {{^useFeign10}}
throw new RetryableException(e.getMessage(), e,null);
+ {{/useFeign10}}
}
if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) {
setAccessToken(accessTokenResponse.getAccessToken(), accessTokenResponse.getExpiresIn());
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache
index a4e5ea5a791c..b852a3d43afc 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.gradle.mustache
@@ -123,7 +123,7 @@ ext {
{{#threetenbp}}
threepane_version = "2.6.4"
{{/threetenbp}}
- feign_version = "9.4.0"
+ feign_version = "{{#useFeign10}}10.0.1{{/useFeign10}}{{^useFeign10}}9.4.0{{/useFeign10}}"
feign_form_version = "2.1.0"
junit_version = "4.12"
oltu_version = "1.0.1"
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache
index a3dff9420036..f5c8355a02bf 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/build.sbt.mustache
@@ -10,9 +10,9 @@ lazy val root = (project in file(".")).
resolvers += Resolver.mavenLocal,
libraryDependencies ++= Seq(
"io.swagger" % "swagger-annotations" % "1.5.21" % "compile",
- "io.github.openfeign" % "feign-core" % "9.4.0" % "compile",
- "io.github.openfeign" % "feign-jackson" % "9.4.0" % "compile",
- "io.github.openfeign" % "feign-slf4j" % "9.4.0" % "compile",
+ "io.github.openfeign" % "feign-core" % "{{#useFeign10}}10.0.1{{/useFeign10}}{{^useFeign10}}9.4.0{{/useFeign10}}" % "compile",
+ "io.github.openfeign" % "feign-jackson" % "{{#useFeign10}}10.0.1{{/useFeign10}}{{^useFeign10}}9.4.0{{/useFeign10}}" % "compile",
+ "io.github.openfeign" % "feign-slf4j" % "{{#useFeign10}}10.0.1{{/useFeign10}}{{^useFeign10}}9.4.0{{/useFeign10}}" % "compile",
"io.github.openfeign.form" % "feign-form" % "2.1.0" % "compile",
"com.fasterxml.jackson.core" % "jackson-core" % "2.8.7" % "compile",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.7" % "compile",
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache
index 7a81b340af9c..bf74b39c6174 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/pom.mustache
@@ -293,7 +293,7 @@
${java.version}
${java.version}
1.5.21
- 9.4.0
+ {{#useFeign10}}10.0.1{{/useFeign10}}{{^useFeign10}}9.4.0{{/useFeign10}}
2.1.0
2.8.9
{{#threetenbp}}
diff --git a/samples/client/petstore/java/feign/build.gradle b/samples/client/petstore/java/feign/build.gradle
index e2126b12432a..885747dfe2ec 100644
--- a/samples/client/petstore/java/feign/build.gradle
+++ b/samples/client/petstore/java/feign/build.gradle
@@ -97,7 +97,7 @@ ext {
swagger_annotations_version = "1.5.21"
jackson_version = "2.8.7"
threepane_version = "2.6.4"
- feign_version = "9.4.0"
+ feign_version = "10.0.1"
feign_form_version = "2.1.0"
junit_version = "4.12"
oltu_version = "1.0.1"
diff --git a/samples/client/petstore/java/feign/build.sbt b/samples/client/petstore/java/feign/build.sbt
index b387ad56e617..b60ee6257cdc 100644
--- a/samples/client/petstore/java/feign/build.sbt
+++ b/samples/client/petstore/java/feign/build.sbt
@@ -10,9 +10,9 @@ lazy val root = (project in file(".")).
resolvers += Resolver.mavenLocal,
libraryDependencies ++= Seq(
"io.swagger" % "swagger-annotations" % "1.5.21" % "compile",
- "io.github.openfeign" % "feign-core" % "9.4.0" % "compile",
- "io.github.openfeign" % "feign-jackson" % "9.4.0" % "compile",
- "io.github.openfeign" % "feign-slf4j" % "9.4.0" % "compile",
+ "io.github.openfeign" % "feign-core" % "10.0.1" % "compile",
+ "io.github.openfeign" % "feign-jackson" % "10.0.1" % "compile",
+ "io.github.openfeign" % "feign-slf4j" % "10.0.1" % "compile",
"io.github.openfeign.form" % "feign-form" % "2.1.0" % "compile",
"com.fasterxml.jackson.core" % "jackson-core" % "2.8.7" % "compile",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.7" % "compile",
diff --git a/samples/client/petstore/java/feign/pom.xml b/samples/client/petstore/java/feign/pom.xml
index 58b7d4d7e0ed..86f20428528c 100644
--- a/samples/client/petstore/java/feign/pom.xml
+++ b/samples/client/petstore/java/feign/pom.xml
@@ -267,7 +267,7 @@
${java.version}
${java.version}
1.5.21
- 9.4.0
+ 10.0.1
2.1.0
2.8.9
2.6.4
diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
index 25593a0784a7..75c86a7d61b4 100644
--- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
+++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
@@ -19,6 +19,7 @@ import org.apache.oltu.oauth2.common.message.types.GrantType;
import org.apache.oltu.oauth2.common.token.BasicOAuthToken;
import feign.Client;
+import feign.Request.HttpMethod;
import feign.Request.Options;
import feign.RequestInterceptor;
import feign.RequestTemplate;
@@ -92,7 +93,7 @@ public class OAuth implements RequestInterceptor {
try {
accessTokenResponse = oauthClient.accessToken(tokenRequestBuilder.buildBodyMessage());
} catch (Exception e) {
- throw new RetryableException(e.getMessage(), e,null);
+ throw new RetryableException(e.getMessage(), HttpMethod.POST, e, null);
}
if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) {
setAccessToken(accessTokenResponse.getAccessToken(), accessTokenResponse.getExpiresIn());