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());