From b2efb7041001b94157e1f4af24037844c305e82e Mon Sep 17 00:00:00 2001 From: Jordan Zimmerman Date: Thu, 29 Jun 2017 00:23:44 -0500 Subject: [PATCH] Support a true "java8" option (#5864) * Closes #5863 The "dateLibrary" option for java, sadly, sets a mustache value "java8". This change updates this so that "java" in the mustache libraries means what it should mean - use all java8 classes. In this case, there's no need for the third party Base64 library as java8's JDK has this built in. In my view, the "dateLibrary" should be deprecated but that should be a separate PR. * updated samples * fixed tests for new CLI java8 * regenerated samples after master merge * oops - left in an end tag after master merge * rerun checks * rerun checks --- .../languages/AbstractJavaCodegen.java | 25 +++++- .../Java/auth/HttpBasicAuth.mustache | 13 +++ .../main/resources/Java/build.gradle.mustache | 2 +- .../libraries/jersey2/build.gradle.mustache | 2 +- .../Java/libraries/jersey2/pom.mustache | 3 +- .../libraries/resteasy/build.gradle.mustache | 2 +- .../libraries/resteasy/build.sbt.mustache | 2 +- .../Java/libraries/resteasy/pom.mustache | 3 +- .../src/main/resources/Java/pom.mustache | 2 +- .../codegen/java/JavaClientOptionsTest.java | 2 + .../options/JavaClientOptionsProvider.java | 1 + .../codegen/options/JavaOptionsProvider.java | 2 + .../options/JaxRSServerOptionsProvider.java | 2 + .../libraries/jersey2/build.gradle.mustache | 2 +- .../Java/libraries/jersey2/build.sbt.mustache | 2 +- .../Java/libraries/jersey2/pom.mustache | 3 +- .../java/okhttp-gson/build.gradle | 6 +- .../java/okhttp-gson/build.sbt | 6 +- .../java/okhttp-gson/pom.xml | 4 +- .../petstore/java/jersey2-java6/build.gradle | 12 +-- .../petstore/java/jersey2-java6/build.sbt | 20 ++--- .../petstore/java/jersey2-java6/pom.xml | 11 +-- .../java/io/swagger/client/ApiClient.java | 80 +++++++++---------- .../petstore/java/jersey2-java8/build.gradle | 7 +- .../petstore/java/jersey2-java8/build.sbt | 17 ++-- .../petstore/java/jersey2-java8/pom.xml | 12 +-- .../java/io/swagger/client/ApiClient.java | 80 +++++++++---------- .../io/swagger/client/auth/HttpBasicAuth.java | 10 +-- .../client/petstore/java/jersey2/build.gradle | 8 +- .../client/petstore/java/jersey2/build.sbt | 18 ++--- samples/client/petstore/java/jersey2/pom.xml | 9 ++- .../java/io/swagger/client/ApiClient.java | 80 +++++++++---------- samples/client/petstore/java/resteasy/pom.xml | 3 +- .../petstore/java/resttemplate/build.gradle | 8 +- .../client/petstore/java/resttemplate/pom.xml | 8 +- samples/client/petstore/java/retrofit/pom.xml | 4 +- .../java/retrofit2-play24/build.gradle | 6 +- .../petstore/java/retrofit2-play24/build.sbt | 10 +-- .../petstore/java/retrofit2-play24/pom.xml | 8 +- .../java-inflector/.swagger-codegen/VERSION | 2 +- .../io/swagger/controllers/StringUtil.java | 42 ++++++++++ .../swagger/controllers/FakeController.java | 69 ++++++++++++++++ .../io/swagger/controllers/PetController.java | 74 +++++++++++++++++ .../swagger/controllers/StoreController.java | 49 ++++++++++++ .../swagger/controllers/UserController.java | 73 +++++++++++++++++ .../src/main/swagger/swagger.yaml | 52 +++++++++++- .../java-msf4j/.swagger-codegen/VERSION | 2 +- .../.swagger-codegen/VERSION | 2 +- .../java-play-framework/public/swagger.json | 51 +++++++++++- .../undertow/.swagger-codegen/VERSION | 2 +- .../src/main/resources/config/swagger.json | 51 +++++++++++- 51 files changed, 707 insertions(+), 257 deletions(-) create mode 100644 samples/server/petstore/java-inflector/src/gen/java/io/swagger/controllers/StringUtil.java create mode 100644 samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/FakeController.java create mode 100644 samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/PetController.java create mode 100644 samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/StoreController.java create mode 100644 samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/UserController.java diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java index 36e575f832c0..19c7118470e4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java @@ -45,8 +45,10 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code public static final String FULL_JAVA_UTIL = "fullJavaUtil"; public static final String DEFAULT_LIBRARY = ""; public static final String DATE_LIBRARY = "dateLibrary"; + public static final String JAVA8_MODE = "java8"; public static final String SUPPORT_JAVA6 = "supportJava6"; + protected boolean java8Mode = false; protected String dateLibrary = "joda"; protected String invokerPackage = "io.swagger"; protected String groupId = "io.swagger"; @@ -148,14 +150,20 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code CliOption dateLibrary = new CliOption(DATE_LIBRARY, "Option. Date library to use"); Map dateOptions = new HashMap(); - dateOptions.put("java8", "Java 8 native"); + dateOptions.put("java8", "Java 8 native - note: this also sets \"" + JAVA8_MODE + "\" to true"); dateOptions.put("java8-localdatetime", "Java 8 using LocalDateTime (for legacy app only)"); dateOptions.put("joda", "Joda"); dateOptions.put("legacy", "Legacy java.util.Date"); dateLibrary.setEnum(dateOptions); - cliOptions.add(dateLibrary); + CliOption java8Mode = new CliOption(JAVA8_MODE, "Option. Use Java8 classes instead of third party equivalents"); + Map java8ModeOptions = new HashMap(); + java8ModeOptions.put("true", "Use Java 8 classes such as Base64"); + java8ModeOptions.put("false", "Various third party libraries as needed"); + java8Mode.setEnum(java8ModeOptions); + cliOptions.add(java8Mode); + } @Override @@ -359,10 +367,17 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code importMapping.put("com.fasterxml.jackson.annotation.JsonProperty", "com.fasterxml.jackson.annotation.JsonCreator"); if(additionalProperties.containsKey(DATE_LIBRARY)) { - setDateLibrary(additionalProperties.get("dateLibrary").toString()); + setDateLibrary(additionalProperties.get(DATE_LIBRARY).toString()); additionalProperties.put(dateLibrary, "true"); } + if(additionalProperties.containsKey(JAVA8_MODE)) { + setJava8Mode(Boolean.parseBoolean(additionalProperties.get(JAVA8_MODE).toString())); + if ( java8Mode ) { + additionalProperties.put("java8", "true"); + } + } + if("joda".equals(dateLibrary)) { additionalProperties.put("joda", "true"); typeMapping.put("date", "LocalDate"); @@ -1126,6 +1141,10 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code this.dateLibrary = library; } + public void setJava8Mode(boolean enabled) { + this.java8Mode = enabled; + } + @Override public String escapeQuotationMark(String input) { // remove " to avoid code injection diff --git a/modules/swagger-codegen/src/main/resources/Java/auth/HttpBasicAuth.mustache b/modules/swagger-codegen/src/main/resources/Java/auth/HttpBasicAuth.mustache index 0438f6a40b71..015e042e1714 100644 --- a/modules/swagger-codegen/src/main/resources/Java/auth/HttpBasicAuth.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/auth/HttpBasicAuth.mustache @@ -4,12 +4,20 @@ package {{invokerPackage}}.auth; import {{invokerPackage}}.Pair; +{{^java8}} import com.migcomponents.migbase64.Base64; +{{/java8}} +{{#java8}} +import java.util.Base64; +import java.nio.charset.StandardCharsets; +{{/java8}} import java.util.Map; import java.util.List; +{{^java8}} import java.io.UnsupportedEncodingException; +{{/java8}} {{>generatedAnnotation}} public class HttpBasicAuth implements Authentication { @@ -38,10 +46,15 @@ public class HttpBasicAuth implements Authentication { return; } String str = (username == null ? "" : username) + ":" + (password == null ? "" : password); +{{^java8}} try { headerParams.put("Authorization", "Basic " + Base64.encodeToString(str.getBytes("UTF-8"), false)); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } +{{/java8}} +{{#java8}} + headerParams.put("Authorization", "Basic " + Base64.getEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8))); +{{/java8}} } } diff --git a/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache index 751730ec2308..5f60c01b36eb 100644 --- a/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache @@ -127,7 +127,7 @@ dependencies { {{^java8}} compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "joda-time:joda-time:$jodatime_version" - {{/java8}} compile "com.brsanthu:migbase64:2.2" + {{/java8}} testCompile "junit:junit:$junit_version" } diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache index b2db2d26f977..42db9488d152 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache @@ -132,11 +132,11 @@ dependencies { {{^java8}} compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "joda-time:joda-time:$jodatime_version" + compile "com.brsanthu:migbase64:2.2" {{/java8}} {{#supportJava6}} compile "commons-io:commons-io:$commons_io_version" compile "org.apache.commons:commons-lang3:$commons_lang3_version" {{/supportJava6}} - compile "com.brsanthu:migbase64:2.2" testCompile "junit:junit:$junit_version" } diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache index c990bb13ed88..4d3bbdabf580 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache @@ -240,7 +240,6 @@ joda-time ${jodatime-version} - {{/java8}} @@ -248,6 +247,8 @@ migbase64 2.2 + {{/java8}} + {{#supportJava6}} org.apache.commons diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.gradle.mustache index e150b8671ea8..5a8e29157a66 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.gradle.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.gradle.mustache @@ -132,11 +132,11 @@ dependencies { {{^java8}} compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "joda-time:joda-time:$jodatime_version" + compile "com.brsanthu:migbase64:2.2" {{/java8}} {{#supportJava6}} compile "commons-io:commons-io:$commons_io_version" compile "org.apache.commons:commons-lang3:$commons_lang3_version" {{/supportJava6}} - compile "com.brsanthu:migbase64:2.2" testCompile "junit:junit:$junit_version" } diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.sbt.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.sbt.mustache index c1cb91dd3167..348d29d96d19 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.sbt.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/build.sbt.mustache @@ -22,8 +22,8 @@ lazy val root = (project in file(".")). {{^java8}} "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.7.5", "joda-time" % "joda-time" % "2.9.4", - {{/java8}} "com.brsanthu" % "migbase64" % "2.2", + {{/java8}} {{#supportJava6}} "org.apache.commons" % "commons-lang3" % "3.5", "commons-io" % "commons-io" % "2.5", diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/pom.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/pom.mustache index 15ab95dee44d..02af44621a49 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/pom.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/resteasy/pom.mustache @@ -168,7 +168,6 @@ joda-time ${jodatime-version} - {{/java8}} @@ -176,6 +175,8 @@ migbase64 2.2 + {{/java8}} + {{#supportJava6}} org.apache.commons diff --git a/modules/swagger-codegen/src/main/resources/Java/pom.mustache b/modules/swagger-codegen/src/main/resources/Java/pom.mustache index cc834ea36088..beedc3a7a339 100644 --- a/modules/swagger-codegen/src/main/resources/Java/pom.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/pom.mustache @@ -241,7 +241,6 @@ joda-time ${jodatime-version} - {{/java8}} @@ -249,6 +248,7 @@ migbase64 2.2 + {{/java8}} {{#supportJava6}} diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaClientOptionsTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaClientOptionsTest.java index a4a13ecbcbc8..336ed0ec4c0a 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaClientOptionsTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaClientOptionsTest.java @@ -82,6 +82,8 @@ public class JavaClientOptionsTest extends AbstractOptionsTest { times = 1; clientCodegen.setUseBeanValidation(Boolean.valueOf(JavaClientOptionsProvider.PERFORM_BEANVALIDATION)); times = 1; + clientCodegen.setUseBeanValidation(Boolean.valueOf(JavaClientOptionsProvider.PERFORM_BEANVALIDATION)); + times = 1; }}; } } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaClientOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaClientOptionsProvider.java index 2b8426af3c9f..a3595f679440 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaClientOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaClientOptionsProvider.java @@ -25,6 +25,7 @@ public class JavaClientOptionsProvider extends JavaOptionsProvider { options.put(JavaClientCodegen.PERFORM_BEANVALIDATION, PERFORM_BEANVALIDATION); options.put(JavaClientCodegen.USE_GZIP_FEATURE, "false"); options.put(JavaClientCodegen.USE_RUNTIME_EXCEPTION, "false"); + options.put(JavaClientCodegen.JAVA8_MODE, "false"); return options; } diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaOptionsProvider.java index eb60599435cb..5ba2417b50eb 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaOptionsProvider.java @@ -29,6 +29,7 @@ public class JavaOptionsProvider implements OptionsProvider { public static final String LOCAL_PREFIX_VALUE = "tst"; public static final String SERIALIZABLE_MODEL_VALUE = "false"; public static final String FULL_JAVA_UTIL_VALUE = "true"; + public static final String JAVA8_MODE_VALUE = "true"; public static final String ENSURE_UNIQUE_PARAMS_VALUE = "true"; //public static final String SUPPORT_JAVA6 = "true"; public static final String USE_BEANVALIDATION = "false"; @@ -65,6 +66,7 @@ public class JavaOptionsProvider implements OptionsProvider { .put(CodegenConstants.LOCAL_VARIABLE_PREFIX, LOCAL_PREFIX_VALUE) .put(CodegenConstants.SERIALIZABLE_MODEL, SERIALIZABLE_MODEL_VALUE) .put(JavaClientCodegen.FULL_JAVA_UTIL, FULL_JAVA_UTIL_VALUE) + .put(JavaClientCodegen.JAVA8_MODE, JAVA8_MODE_VALUE) .put(CodegenConstants.SERIALIZE_BIG_DECIMAL_AS_STRING, "true") .put(JavaClientCodegen.DATE_LIBRARY, "joda") .put("hideGenerationTimestamp", "true") diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java index ce89ee75ecca..535c637a4c4b 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java @@ -37,6 +37,7 @@ public class JaxRSServerOptionsProvider implements OptionsProvider { public static final String JAXRS_DEFAULT_LIBRARY_VALUE = "jersey1"; public static final String USE_BEANVALIDATION = "true"; public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; + public static final String JAVA8_MODE_VALUE = "false"; @Override @@ -81,6 +82,7 @@ public class JaxRSServerOptionsProvider implements OptionsProvider { .put(JavaClientCodegen.FULL_JAVA_UTIL, FULL_JAVA_UTIL_VALUE) .put(CodegenConstants.LIBRARY, JAXRS_DEFAULT_LIBRARY_VALUE) .put(CodegenConstants.SERIALIZE_BIG_DECIMAL_AS_STRING, "true") + .put(JavaClientCodegen.JAVA8_MODE, JAVA8_MODE_VALUE) //.put(JavaClientCodegen.DATE_LIBRARY, "joda") .put("hideGenerationTimestamp", "true") .put(JavaCXFServerCodegen.USE_BEANVALIDATION, USE_BEANVALIDATION) diff --git a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.gradle.mustache b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.gradle.mustache index 739287b28c4a..b6d2dd8ec391 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.gradle.mustache +++ b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.gradle.mustache @@ -134,11 +134,11 @@ dependencies { {{^java8}} compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "joda-time:joda-time:$jodatime_version" + compile "com.brsanthu:migbase64:2.2" {{/java8}} {{#supportJava6}} compile "commons-io:commons-io:$commons_io_version" compile "org.apache.commons:commons-lang3:$commons_lang3_version" {{/supportJava6}} - compile "com.brsanthu:migbase64:2.2" testCompile "junit:junit:$junit_version" } diff --git a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.sbt.mustache b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.sbt.mustache index b2d31d23f7ec..cce1667464ed 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.sbt.mustache +++ b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/build.sbt.mustache @@ -24,8 +24,8 @@ lazy val root = (project in file(".")). {{^java8}} "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.7.5", "joda-time" % "joda-time" % "2.9.4", - {{/java8}} "com.brsanthu" % "migbase64" % "2.2", + {{/java8}} {{#supportJava6}} "org.apache.commons" % "commons-lang3" % "3.5", "commons-io" % "commons-io" % "2.5", diff --git a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/pom.mustache b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/pom.mustache index e875fc26b3ef..0566cb81d9b8 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/pom.mustache +++ b/modules/swagger-codegen/src/test/resources/2_0/templates/Java/libraries/jersey2/pom.mustache @@ -242,7 +242,6 @@ joda-time ${jodatime-version} - {{/java8}} @@ -250,6 +249,8 @@ migbase64 2.2 + {{/java8}} + {{#supportJava6}} org.apache.commons diff --git a/samples/client/petstore-security-test/java/okhttp-gson/build.gradle b/samples/client/petstore-security-test/java/okhttp-gson/build.gradle index 0f403ed63f3f..1d7eb55f31d5 100644 --- a/samples/client/petstore-security-test/java/okhttp-gson/build.gradle +++ b/samples/client/petstore-security-test/java/okhttp-gson/build.gradle @@ -94,10 +94,10 @@ if(hasProperty('target') && target == 'android') { } dependencies { - compile 'io.swagger:swagger-annotations:1.5.8' + compile 'io.swagger:swagger-annotations:1.5.15' compile 'com.squareup.okhttp:okhttp:2.7.5' compile 'com.squareup.okhttp:logging-interceptor:2.7.5' - compile 'com.google.code.gson:gson:2.6.2' - compile 'joda-time:joda-time:2.9.3' + compile 'com.google.code.gson:gson:2.8.1' + compile 'joda-time:joda-time:2.9.9' testCompile 'junit:junit:4.12' } diff --git a/samples/client/petstore-security-test/java/okhttp-gson/build.sbt b/samples/client/petstore-security-test/java/okhttp-gson/build.sbt index 01a1095f8a40..0cb2e949949e 100644 --- a/samples/client/petstore-security-test/java/okhttp-gson/build.sbt +++ b/samples/client/petstore-security-test/java/okhttp-gson/build.sbt @@ -9,11 +9,11 @@ lazy val root = (project in file(".")). publishArtifact in (Compile, packageDoc) := false, resolvers += Resolver.mavenLocal, libraryDependencies ++= Seq( - "io.swagger" % "swagger-annotations" % "1.5.8", + "io.swagger" % "swagger-annotations" % "1.5.15", "com.squareup.okhttp" % "okhttp" % "2.7.5", "com.squareup.okhttp" % "logging-interceptor" % "2.7.5", - "com.google.code.gson" % "gson" % "2.6.2", - "joda-time" % "joda-time" % "2.9.3" % "compile", + "com.google.code.gson" % "gson" % "2.8.1", + "joda-time" % "joda-time" % "2.9.9" % "compile", "junit" % "junit" % "4.12" % "test", "com.novocode" % "junit-interface" % "0.10" % "test" ) diff --git a/samples/client/petstore-security-test/java/okhttp-gson/pom.xml b/samples/client/petstore-security-test/java/okhttp-gson/pom.xml index dbd7942c9733..00d21876283d 100644 --- a/samples/client/petstore-security-test/java/okhttp-gson/pom.xml +++ b/samples/client/petstore-security-test/java/okhttp-gson/pom.xml @@ -208,8 +208,8 @@ ${java.version} 1.5.15 2.7.5 - 2.6.2 - 2.9.3 + 2.8.1 + 2.9.9 1.0.0 4.12 UTF-8 diff --git a/samples/client/petstore/java/jersey2-java6/build.gradle b/samples/client/petstore/java/jersey2-java6/build.gradle index 7910021321ea..a069e612705c 100644 --- a/samples/client/petstore/java/jersey2-java6/build.gradle +++ b/samples/client/petstore/java/jersey2-java6/build.gradle @@ -93,12 +93,12 @@ if(hasProperty('target') && target == 'android') { } ext { - swagger_annotations_version = "1.5.15" - jackson_version = "2.8.9" - jersey_version = "2.25.1" - jodatime_version = "2.9.9" + swagger_annotations_version = "1.5.8" + jackson_version = "2.7.5" + jersey_version = "2.22.2" + jodatime_version = "2.9.4" commons_io_version=2.5 - commons_lang3_version=3.6 + commons_lang3_version=3.5 junit_version = "4.12" } @@ -112,8 +112,8 @@ dependencies { compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version" compile "joda-time:joda-time:$jodatime_version" + compile "com.brsanthu:migbase64:2.2" compile "commons-io:commons-io:$commons_io_version" compile "org.apache.commons:commons-lang3:$commons_lang3_version" - compile "com.brsanthu:migbase64:2.2" testCompile "junit:junit:$junit_version" } diff --git a/samples/client/petstore/java/jersey2-java6/build.sbt b/samples/client/petstore/java/jersey2-java6/build.sbt index 05f502ac4ab1..d1d444bee2b7 100644 --- a/samples/client/petstore/java/jersey2-java6/build.sbt +++ b/samples/client/petstore/java/jersey2-java6/build.sbt @@ -9,17 +9,17 @@ lazy val root = (project in file(".")). publishArtifact in (Compile, packageDoc) := false, resolvers += Resolver.mavenLocal, libraryDependencies ++= Seq( - "io.swagger" % "swagger-annotations" % "1.5.15", - "org.glassfish.jersey.core" % "jersey-client" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.25.1", - "com.fasterxml.jackson.core" % "jackson-core" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.9", - "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.8.9", - "joda-time" % "joda-time" % "2.9.9", + "io.swagger" % "swagger-annotations" % "1.5.8", + "org.glassfish.jersey.core" % "jersey-client" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.22.2", + "com.fasterxml.jackson.core" % "jackson-core" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.5", + "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.7.5", + "joda-time" % "joda-time" % "2.9.4", "com.brsanthu" % "migbase64" % "2.2", - "org.apache.commons" % "commons-lang3" % "3.6", + "org.apache.commons" % "commons-lang3" % "3.5", "commons-io" % "commons-io" % "2.5", "junit" % "junit" % "4.12" % "test", "com.novocode" % "junit-interface" % "0.10" % "test" diff --git a/samples/client/petstore/java/jersey2-java6/pom.xml b/samples/client/petstore/java/jersey2-java6/pom.xml index 1eae180b676e..c5f68e3008d5 100644 --- a/samples/client/petstore/java/jersey2-java6/pom.xml +++ b/samples/client/petstore/java/jersey2-java6/pom.xml @@ -233,6 +233,7 @@ migbase64 2.2 + org.apache.commons commons-lang3 @@ -254,12 +255,12 @@ - 1.5.15 - 2.25.1 - 2.8.9 - 2.9.9 + 1.5.12 + 2.22.2 + 2.7.5 + 2.9.4 2.5 - 3.6 + 3.5 1.0.0 4.12 diff --git a/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java index 79df237e1dd5..938b7521e6fa 100644 --- a/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java +++ b/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java @@ -671,56 +671,48 @@ public class ApiClient { Entity entity = serialize(body, formParams, contentType); - Response response = null; + Response response; - try { - if ("GET".equals(method)) { - response = invocationBuilder.get(); - } else if ("POST".equals(method)) { - response = invocationBuilder.post(entity); - } else if ("PUT".equals(method)) { - response = invocationBuilder.put(entity); - } else if ("DELETE".equals(method)) { - response = invocationBuilder.delete(); - } else if ("PATCH".equals(method)) { - response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); - } else { - throw new ApiException(500, "unknown method type " + method); - } + if ("GET".equals(method)) { + response = invocationBuilder.get(); + } else if ("POST".equals(method)) { + response = invocationBuilder.post(entity); + } else if ("PUT".equals(method)) { + response = invocationBuilder.put(entity); + } else if ("DELETE".equals(method)) { + response = invocationBuilder.delete(); + } else if ("PATCH".equals(method)) { + response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); + } else { + throw new ApiException(500, "unknown method type " + method); + } - statusCode = response.getStatusInfo().getStatusCode(); - responseHeaders = buildResponseHeaders(response); + statusCode = response.getStatusInfo().getStatusCode(); + responseHeaders = buildResponseHeaders(response); - if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + return null; + } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { + if (returnType == null) return null; - } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { - if (returnType == null) - return null; - else - return deserialize(response, returnType); - } else { - String message = "error"; - String respBody = null; - if (response.hasEntity()) { - try { - respBody = String.valueOf(response.readEntity(String.class)); - message = respBody; - } catch (RuntimeException e) { - // e.printStackTrace(); - } + else + return deserialize(response, returnType); + } else { + String message = "error"; + String respBody = null; + if (response.hasEntity()) { + try { + respBody = String.valueOf(response.readEntity(String.class)); + message = respBody; + } catch (RuntimeException e) { + // e.printStackTrace(); } - throw new ApiException( - response.getStatus(), - message, - buildResponseHeaders(response), - respBody); - } - } finally { - try { - response.close(); - } catch (Exception e) { - // it's not critical, since the response object is local in method invokeAPI; that's fine, just continue } + throw new ApiException( + response.getStatus(), + message, + buildResponseHeaders(response), + respBody); } } diff --git a/samples/client/petstore/java/jersey2-java8/build.gradle b/samples/client/petstore/java/jersey2-java8/build.gradle index 13ad1675cd58..4aa158e8bd00 100644 --- a/samples/client/petstore/java/jersey2-java8/build.gradle +++ b/samples/client/petstore/java/jersey2-java8/build.gradle @@ -93,9 +93,9 @@ if(hasProperty('target') && target == 'android') { } ext { - swagger_annotations_version = "1.5.15" - jackson_version = "2.8.9" - jersey_version = "2.25.1" + swagger_annotations_version = "1.5.8" + jackson_version = "2.7.5" + jersey_version = "2.22.2" junit_version = "4.12" } @@ -108,6 +108,5 @@ dependencies { compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version" - compile "com.brsanthu:migbase64:2.2" testCompile "junit:junit:$junit_version" } diff --git a/samples/client/petstore/java/jersey2-java8/build.sbt b/samples/client/petstore/java/jersey2-java8/build.sbt index 4d2a46846fa8..bc4a50dc3c77 100644 --- a/samples/client/petstore/java/jersey2-java8/build.sbt +++ b/samples/client/petstore/java/jersey2-java8/build.sbt @@ -9,15 +9,14 @@ lazy val root = (project in file(".")). publishArtifact in (Compile, packageDoc) := false, resolvers += Resolver.mavenLocal, libraryDependencies ++= Seq( - "io.swagger" % "swagger-annotations" % "1.5.15", - "org.glassfish.jersey.core" % "jersey-client" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.25.1", - "com.fasterxml.jackson.core" % "jackson-core" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.9", - "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.8.9", - "com.brsanthu" % "migbase64" % "2.2", + "io.swagger" % "swagger-annotations" % "1.5.8", + "org.glassfish.jersey.core" % "jersey-client" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.22.2", + "com.fasterxml.jackson.core" % "jackson-core" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.5", + "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.7.5", "junit" % "junit" % "4.12" % "test", "com.novocode" % "junit-interface" % "0.10" % "test" ) diff --git a/samples/client/petstore/java/jersey2-java8/pom.xml b/samples/client/petstore/java/jersey2-java8/pom.xml index 547cb4cbefde..34b327ff639d 100644 --- a/samples/client/petstore/java/jersey2-java8/pom.xml +++ b/samples/client/petstore/java/jersey2-java8/pom.xml @@ -222,12 +222,6 @@ ${jackson-version} - - - com.brsanthu - migbase64 - 2.2 - @@ -238,9 +232,9 @@ - 1.5.15 - 2.25.1 - 2.8.9 + 1.5.12 + 2.22.2 + 2.7.5 1.0.0 4.12 diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java index 16b5e5796d9a..0995fbc3df7c 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java @@ -671,56 +671,48 @@ public class ApiClient { Entity entity = serialize(body, formParams, contentType); - Response response = null; + Response response; - try { - if ("GET".equals(method)) { - response = invocationBuilder.get(); - } else if ("POST".equals(method)) { - response = invocationBuilder.post(entity); - } else if ("PUT".equals(method)) { - response = invocationBuilder.put(entity); - } else if ("DELETE".equals(method)) { - response = invocationBuilder.delete(); - } else if ("PATCH".equals(method)) { - response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); - } else { - throw new ApiException(500, "unknown method type " + method); - } + if ("GET".equals(method)) { + response = invocationBuilder.get(); + } else if ("POST".equals(method)) { + response = invocationBuilder.post(entity); + } else if ("PUT".equals(method)) { + response = invocationBuilder.put(entity); + } else if ("DELETE".equals(method)) { + response = invocationBuilder.delete(); + } else if ("PATCH".equals(method)) { + response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); + } else { + throw new ApiException(500, "unknown method type " + method); + } - statusCode = response.getStatusInfo().getStatusCode(); - responseHeaders = buildResponseHeaders(response); + statusCode = response.getStatusInfo().getStatusCode(); + responseHeaders = buildResponseHeaders(response); - if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + return null; + } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { + if (returnType == null) return null; - } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { - if (returnType == null) - return null; - else - return deserialize(response, returnType); - } else { - String message = "error"; - String respBody = null; - if (response.hasEntity()) { - try { - respBody = String.valueOf(response.readEntity(String.class)); - message = respBody; - } catch (RuntimeException e) { - // e.printStackTrace(); - } + else + return deserialize(response, returnType); + } else { + String message = "error"; + String respBody = null; + if (response.hasEntity()) { + try { + respBody = String.valueOf(response.readEntity(String.class)); + message = respBody; + } catch (RuntimeException e) { + // e.printStackTrace(); } - throw new ApiException( - response.getStatus(), - message, - buildResponseHeaders(response), - respBody); - } - } finally { - try { - response.close(); - } catch (Exception e) { - // it's not critical, since the response object is local in method invokeAPI; that's fine, just continue } + throw new ApiException( + response.getStatus(), + message, + buildResponseHeaders(response), + respBody); } } diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/auth/HttpBasicAuth.java b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/auth/HttpBasicAuth.java index 788b63a99183..0b2a5b492146 100644 --- a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/auth/HttpBasicAuth.java +++ b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/auth/HttpBasicAuth.java @@ -15,12 +15,12 @@ package io.swagger.client.auth; import io.swagger.client.Pair; -import com.migcomponents.migbase64.Base64; +import java.util.Base64; +import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.List; -import java.io.UnsupportedEncodingException; public class HttpBasicAuth implements Authentication { @@ -49,10 +49,6 @@ public class HttpBasicAuth implements Authentication { return; } String str = (username == null ? "" : username) + ":" + (password == null ? "" : password); - try { - headerParams.put("Authorization", "Basic " + Base64.encodeToString(str.getBytes("UTF-8"), false)); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + headerParams.put("Authorization", "Basic " + Base64.getEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8))); } } diff --git a/samples/client/petstore/java/jersey2/build.gradle b/samples/client/petstore/java/jersey2/build.gradle index 2290cd0f1e68..f20bda6db153 100644 --- a/samples/client/petstore/java/jersey2/build.gradle +++ b/samples/client/petstore/java/jersey2/build.gradle @@ -93,10 +93,10 @@ if(hasProperty('target') && target == 'android') { } ext { - swagger_annotations_version = "1.5.15" - jackson_version = "2.8.9" - jersey_version = "2.25.1" - jodatime_version = "2.9.9" + swagger_annotations_version = "1.5.8" + jackson_version = "2.7.5" + jersey_version = "2.22.2" + jodatime_version = "2.9.4" junit_version = "4.12" } diff --git a/samples/client/petstore/java/jersey2/build.sbt b/samples/client/petstore/java/jersey2/build.sbt index 9a516c92cf5a..555b44f16dbd 100644 --- a/samples/client/petstore/java/jersey2/build.sbt +++ b/samples/client/petstore/java/jersey2/build.sbt @@ -9,15 +9,15 @@ lazy val root = (project in file(".")). publishArtifact in (Compile, packageDoc) := false, resolvers += Resolver.mavenLocal, libraryDependencies ++= Seq( - "io.swagger" % "swagger-annotations" % "1.5.15", - "org.glassfish.jersey.core" % "jersey-client" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.25.1", - "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.25.1", - "com.fasterxml.jackson.core" % "jackson-core" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.9", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.9", - "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.8.9", - "joda-time" % "joda-time" % "2.9.9", + "io.swagger" % "swagger-annotations" % "1.5.8", + "org.glassfish.jersey.core" % "jersey-client" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-multipart" % "2.22.2", + "org.glassfish.jersey.media" % "jersey-media-json-jackson" % "2.22.2", + "com.fasterxml.jackson.core" % "jackson-core" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.7.5", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.5", + "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.7.5", + "joda-time" % "joda-time" % "2.9.4", "com.brsanthu" % "migbase64" % "2.2", "junit" % "junit" % "4.12" % "test", "com.novocode" % "junit-interface" % "0.10" % "test" diff --git a/samples/client/petstore/java/jersey2/pom.xml b/samples/client/petstore/java/jersey2/pom.xml index b665825c4f4d..c8ce44478dcb 100644 --- a/samples/client/petstore/java/jersey2/pom.xml +++ b/samples/client/petstore/java/jersey2/pom.xml @@ -234,6 +234,7 @@ 2.2 + junit @@ -243,10 +244,10 @@ - 1.5.15 - 2.25.1 - 2.8.9 - 2.9.9 + 1.5.12 + 2.22.2 + 2.7.5 + 2.9.4 1.0.0 4.12 diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java index 16b5e5796d9a..0995fbc3df7c 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java @@ -671,56 +671,48 @@ public class ApiClient { Entity entity = serialize(body, formParams, contentType); - Response response = null; + Response response; - try { - if ("GET".equals(method)) { - response = invocationBuilder.get(); - } else if ("POST".equals(method)) { - response = invocationBuilder.post(entity); - } else if ("PUT".equals(method)) { - response = invocationBuilder.put(entity); - } else if ("DELETE".equals(method)) { - response = invocationBuilder.delete(); - } else if ("PATCH".equals(method)) { - response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); - } else { - throw new ApiException(500, "unknown method type " + method); - } + if ("GET".equals(method)) { + response = invocationBuilder.get(); + } else if ("POST".equals(method)) { + response = invocationBuilder.post(entity); + } else if ("PUT".equals(method)) { + response = invocationBuilder.put(entity); + } else if ("DELETE".equals(method)) { + response = invocationBuilder.delete(); + } else if ("PATCH".equals(method)) { + response = invocationBuilder.header("X-HTTP-Method-Override", "PATCH").post(entity); + } else { + throw new ApiException(500, "unknown method type " + method); + } - statusCode = response.getStatusInfo().getStatusCode(); - responseHeaders = buildResponseHeaders(response); + statusCode = response.getStatusInfo().getStatusCode(); + responseHeaders = buildResponseHeaders(response); - if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) { + return null; + } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { + if (returnType == null) return null; - } else if (response.getStatusInfo().getFamily() == Status.Family.SUCCESSFUL) { - if (returnType == null) - return null; - else - return deserialize(response, returnType); - } else { - String message = "error"; - String respBody = null; - if (response.hasEntity()) { - try { - respBody = String.valueOf(response.readEntity(String.class)); - message = respBody; - } catch (RuntimeException e) { - // e.printStackTrace(); - } + else + return deserialize(response, returnType); + } else { + String message = "error"; + String respBody = null; + if (response.hasEntity()) { + try { + respBody = String.valueOf(response.readEntity(String.class)); + message = respBody; + } catch (RuntimeException e) { + // e.printStackTrace(); } - throw new ApiException( - response.getStatus(), - message, - buildResponseHeaders(response), - respBody); - } - } finally { - try { - response.close(); - } catch (Exception e) { - // it's not critical, since the response object is local in method invokeAPI; that's fine, just continue } + throw new ApiException( + response.getStatus(), + message, + buildResponseHeaders(response), + respBody); } } diff --git a/samples/client/petstore/java/resteasy/pom.xml b/samples/client/petstore/java/resteasy/pom.xml index 0f7ee5a1d9f5..c0a928de64cf 100644 --- a/samples/client/petstore/java/resteasy/pom.xml +++ b/samples/client/petstore/java/resteasy/pom.xml @@ -161,10 +161,11 @@ migbase64 2.2 + org.jboss.resteasy resteasy-jackson-provider - 3.1.3.Final + 2.3.4.Final diff --git a/samples/client/petstore/java/resttemplate/build.gradle b/samples/client/petstore/java/resttemplate/build.gradle index eeb852d3092c..ab711893226a 100644 --- a/samples/client/petstore/java/resttemplate/build.gradle +++ b/samples/client/petstore/java/resttemplate/build.gradle @@ -94,10 +94,10 @@ if(hasProperty('target') && target == 'android') { } ext { - swagger_annotations_version = "1.5.15" - jackson_version = "2.8.9" - spring_web_version = "4.3.9.RELEASE" - jodatime_version = "2.9.9" + swagger_annotations_version = "1.5.8" + jackson_version = "2.8.8" + spring_web_version = "4.3.7.RELEASE" + jodatime_version = "2.9.4" junit_version = "4.12" } diff --git a/samples/client/petstore/java/resttemplate/pom.xml b/samples/client/petstore/java/resttemplate/pom.xml index 01059b5fcb92..f5b77cc1e718 100644 --- a/samples/client/petstore/java/resttemplate/pom.xml +++ b/samples/client/petstore/java/resttemplate/pom.xml @@ -233,10 +233,10 @@ UTF-8 - 1.5.15 - 4.3.9.RELEASE - 2.8.9 - 2.9.9 + 1.5.8 + 4.3.7.RELEASE + 2.8.8 + 2.9.4 1.0.0 4.12 diff --git a/samples/client/petstore/java/retrofit/pom.xml b/samples/client/petstore/java/retrofit/pom.xml index ffb62b3f28f7..cb50ddea34d4 100644 --- a/samples/client/petstore/java/retrofit/pom.xml +++ b/samples/client/petstore/java/retrofit/pom.xml @@ -213,10 +213,10 @@ - 1.5.15 + 1.5.12 1.9.0 2.7.5 - 2.9.9 + 2.9.3 1.0.1 1.0.0 4.12 diff --git a/samples/client/petstore/java/retrofit2-play24/build.gradle b/samples/client/petstore/java/retrofit2-play24/build.gradle index 660aa9a74f3e..d5624f8999b2 100644 --- a/samples/client/petstore/java/retrofit2-play24/build.gradle +++ b/samples/client/petstore/java/retrofit2-play24/build.gradle @@ -96,11 +96,11 @@ if(hasProperty('target') && target == 'android') { ext { oltu_version = "1.0.1" retrofit_version = "2.1.0" - jackson_version = "2.8.9" + jackson_version = "2.7.5" play_version = "2.4.11" - swagger_annotations_version = "1.5.15" + swagger_annotations_version = "1.5.12" junit_version = "4.12" - jodatime_version = "2.9.9" + jodatime_version = "2.9.4" } dependencies { diff --git a/samples/client/petstore/java/retrofit2-play24/build.sbt b/samples/client/petstore/java/retrofit2-play24/build.sbt index 60a3d4c78ec0..feceac08cf17 100644 --- a/samples/client/petstore/java/retrofit2-play24/build.sbt +++ b/samples/client/petstore/java/retrofit2-play24/build.sbt @@ -14,12 +14,12 @@ lazy val root = (project in file(".")). "com.squareup.retrofit2" % "converter-scalars" % "2.1.0" % "compile", "com.squareup.retrofit2" % "converter-gson" % "2.1.0" % "compile", "com.squareup.retrofit2" % "converter-jackson" % "2.1.0" % "compile", - "com.fasterxml.jackson.core" % "jackson-core" % "2.8.9" % "compile", - "com.fasterxml.jackson.core" % "jackson-annotations" % "2.8.9" % "compile", - "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.9" % "compile", - "io.swagger" % "swagger-annotations" % "1.5.15" % "compile", + "com.fasterxml.jackson.core" % "jackson-core" % "2.7.5" % "compile", + "com.fasterxml.jackson.core" % "jackson-annotations" % "2.7.5" % "compile", + "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.5" % "compile", + "io.swagger" % "swagger-annotations" % "1.5.12" % "compile", "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.1" % "compile", - "joda-time" % "joda-time" % "2.9.9" % "compile", + "joda-time" % "joda-time" % "2.9.4" % "compile", "junit" % "junit" % "4.12" % "test", "com.novocode" % "junit-interface" % "0.11" % "test" ) diff --git a/samples/client/petstore/java/retrofit2-play24/pom.xml b/samples/client/petstore/java/retrofit2-play24/pom.xml index f711d8617870..6693f615e655 100644 --- a/samples/client/petstore/java/retrofit2-play24/pom.xml +++ b/samples/client/petstore/java/retrofit2-play24/pom.xml @@ -246,11 +246,11 @@ 1.7 ${java.version} ${java.version} - 1.5.15 - 2.8.9 + 1.5.12 + 2.7.5 2.4.11 - 2.3.0 - 2.9.9 + 2.2.0 + 2.9.4 1.0.1 4.12 diff --git a/samples/server/petstore/java-inflector/.swagger-codegen/VERSION b/samples/server/petstore/java-inflector/.swagger-codegen/VERSION index 7fea99011a6f..f9f7450d1359 100644 --- a/samples/server/petstore/java-inflector/.swagger-codegen/VERSION +++ b/samples/server/petstore/java-inflector/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-inflector/src/gen/java/io/swagger/controllers/StringUtil.java b/samples/server/petstore/java-inflector/src/gen/java/io/swagger/controllers/StringUtil.java new file mode 100644 index 000000000000..a6dce76b5fa4 --- /dev/null +++ b/samples/server/petstore/java-inflector/src/gen/java/io/swagger/controllers/StringUtil.java @@ -0,0 +1,42 @@ +package io.swagger.controllers; + + +public class StringUtil { + /** + * Check if the given array contains the given value (with case-insensitive comparison). + * + * @param array The array + * @param value The value to search + * @return true if the array contains the value + */ + public static boolean containsIgnoreCase(String[] array, String value) { + for (String str : array) { + if (value == null && str == null) return true; + if (value != null && value.equalsIgnoreCase(str)) return true; + } + return false; + } + + /** + * Join an array of strings with the given separator. + *

+ * Note: This might be replaced by utility method from commons-lang or guava someday + * if one of those libraries is added as dependency. + *

+ * + * @param array The array of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(String[] array, String separator) { + int len = array.length; + if (len == 0) return ""; + + StringBuilder out = new StringBuilder(); + out.append(array[0]); + for (int i = 1; i < len; i++) { + out.append(separator).append(array[i]); + } + return out.toString(); + } +} diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/FakeController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/FakeController.java new file mode 100644 index 000000000000..17cebd09aa34 --- /dev/null +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/FakeController.java @@ -0,0 +1,69 @@ +package io.swagger.controllers; + +import io.swagger.inflector.models.RequestContext; +import io.swagger.inflector.models.ResponseContext; +import javax.ws.rs.core.Response.Status; + +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import java.io.File; +import java.util.List; + +import io.swagger.model.*; + +import java.math.BigDecimal; +import io.swagger.model.Client; +import java.util.Date; +import io.swagger.model.OuterComposite; + + +public class FakeController { + /** + * Uncomment and implement as you see fit. These operations will map + * Directly to operation calls from the routing logic. Because the inflector + * Code allows you to implement logic incrementally, they are disabled. + **/ + + /* + public ResponseContext fakeOuterBooleanSerialize(RequestContext request , Boolean body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext fakeOuterCompositeSerialize(RequestContext request , OuterComposite body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext fakeOuterNumberSerialize(RequestContext request , BigDecimal body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext fakeOuterStringSerialize(RequestContext request , String body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext testClientModel(RequestContext request , Client body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext testEndpointParameters(RequestContext request , BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, byte[] binary, Date date, Date dateTime, String password, String paramCallback) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext testEnumParameters(RequestContext request , List enumFormStringArray, String enumFormString, List enumHeaderStringArray, String enumHeaderString, List enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + +} + diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/PetController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/PetController.java new file mode 100644 index 000000000000..48a211e7157c --- /dev/null +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/PetController.java @@ -0,0 +1,74 @@ +package io.swagger.controllers; + +import io.swagger.inflector.models.RequestContext; +import io.swagger.inflector.models.ResponseContext; +import javax.ws.rs.core.Response.Status; + +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import java.io.File; +import java.util.List; + +import io.swagger.model.*; + +import java.io.File; +import io.swagger.model.ModelApiResponse; +import io.swagger.model.Pet; + + +public class PetController { + /** + * Uncomment and implement as you see fit. These operations will map + * Directly to operation calls from the routing logic. Because the inflector + * Code allows you to implement logic incrementally, they are disabled. + **/ + + /* + public ResponseContext addPet(RequestContext request , Pet body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext deletePet(RequestContext request , Long petId, String apiKey) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext findPetsByStatus(RequestContext request , List status) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext findPetsByTags(RequestContext request , List tags) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext getPetById(RequestContext request , Long petId) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext updatePet(RequestContext request , Pet body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext updatePetWithForm(RequestContext request , Long petId, String name, String status) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext uploadFile(RequestContext request , Long petId, String additionalMetadata, FormDataContentDisposition fileDetail) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + +} + diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/StoreController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/StoreController.java new file mode 100644 index 000000000000..0c4856dc1bef --- /dev/null +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/StoreController.java @@ -0,0 +1,49 @@ +package io.swagger.controllers; + +import io.swagger.inflector.models.RequestContext; +import io.swagger.inflector.models.ResponseContext; +import javax.ws.rs.core.Response.Status; + +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import java.io.File; +import java.util.List; + +import io.swagger.model.*; + +import java.util.Map; +import io.swagger.model.Order; + + +public class StoreController { + /** + * Uncomment and implement as you see fit. These operations will map + * Directly to operation calls from the routing logic. Because the inflector + * Code allows you to implement logic incrementally, they are disabled. + **/ + + /* + public ResponseContext deleteOrder(RequestContext request , String orderId) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext getInventory(RequestContext request ) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext getOrderById(RequestContext request , Long orderId) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext placeOrder(RequestContext request , Order body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + +} + diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/UserController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/UserController.java new file mode 100644 index 000000000000..907b5100faf7 --- /dev/null +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/controllers/UserController.java @@ -0,0 +1,73 @@ +package io.swagger.controllers; + +import io.swagger.inflector.models.RequestContext; +import io.swagger.inflector.models.ResponseContext; +import javax.ws.rs.core.Response.Status; + +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import java.io.File; +import java.util.List; + +import io.swagger.model.*; + +import java.util.List; +import io.swagger.model.User; + + +public class UserController { + /** + * Uncomment and implement as you see fit. These operations will map + * Directly to operation calls from the routing logic. Because the inflector + * Code allows you to implement logic incrementally, they are disabled. + **/ + + /* + public ResponseContext createUser(RequestContext request , User body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext createUsersWithArrayInput(RequestContext request , List body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext createUsersWithListInput(RequestContext request , List body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext deleteUser(RequestContext request , String username) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext getUserByName(RequestContext request , String username) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext loginUser(RequestContext request , String username, String password) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext logoutUser(RequestContext request ) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + + /* + public ResponseContext updateUser(RequestContext request , String username, User body) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + +} + diff --git a/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml b/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml index 9258d1ae2dfe..34aa0e3f531d 100644 --- a/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml +++ b/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml @@ -109,11 +109,11 @@ paths: type: "array" items: type: "string" + default: "available" enum: - "available" - "pending" - "sold" - default: "available" collectionFormat: "csv" responses: 200: @@ -623,10 +623,10 @@ paths: type: "array" items: type: "string" + default: "$" enum: - ">" - "$" - default: "$" - name: "enum_form_string" in: "formData" description: "Form parameter enum test (string)" @@ -644,10 +644,10 @@ paths: type: "array" items: type: "string" + default: "$" enum: - ">" - "$" - default: "$" - name: "enum_header_string" in: "header" description: "Header parameter enum test (string)" @@ -665,10 +665,10 @@ paths: type: "array" items: type: "string" + default: "$" enum: - ">" - "$" - default: "$" - name: "enum_query_string" in: "query" description: "Query parameter enum test (string)" @@ -964,6 +964,13 @@ definitions: complete: type: "boolean" default: false + example: + petId: 6 + quantity: 1 + id: 0 + shipDate: "2000-01-23T04:56:07.000+00:00" + complete: false + status: "placed" xml: name: "Order" Category: @@ -974,6 +981,9 @@ definitions: format: "int64" name: type: "string" + example: + name: "aeiou" + id: 6 xml: name: "Category" User: @@ -999,6 +1009,15 @@ definitions: type: "integer" format: "int32" description: "User Status" + example: + firstName: "aeiou" + lastName: "aeiou" + password: "aeiou" + userStatus: 6 + phone: "aeiou" + id: 0 + email: "aeiou" + username: "aeiou" xml: name: "User" Tag: @@ -1009,6 +1028,9 @@ definitions: format: "int64" name: type: "string" + example: + name: "aeiou" + id: 1 xml: name: "Tag" Pet: @@ -1047,6 +1069,18 @@ definitions: - "available" - "pending" - "sold" + example: + photoUrls: + - "aeiou" + name: "doggie" + id: 0 + category: + name: "aeiou" + id: 6 + tags: + - name: "aeiou" + id: 1 + status: "available" xml: name: "Pet" ApiResponse: @@ -1059,6 +1093,10 @@ definitions: type: "string" message: type: "string" + example: + code: 0 + type: "aeiou" + message: "aeiou" $special[model.name]: properties: $special[property.name]: @@ -1260,6 +1298,8 @@ definitions: properties: client: type: "string" + example: + client: "aeiou" ReadOnlyFirst: type: "object" properties: @@ -1386,6 +1426,10 @@ definitions: $ref: "#/definitions/OuterString" my_boolean: $ref: "#/definitions/OuterBoolean" + example: + my_string: {} + my_number: {} + my_boolean: {} externalDocs: description: "Find out more about Swagger" url: "http://swagger.io" diff --git a/samples/server/petstore/java-msf4j/.swagger-codegen/VERSION b/samples/server/petstore/java-msf4j/.swagger-codegen/VERSION index 7fea99011a6f..f9f7450d1359 100644 --- a/samples/server/petstore/java-msf4j/.swagger-codegen/VERSION +++ b/samples/server/petstore/java-msf4j/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework/.swagger-codegen/VERSION b/samples/server/petstore/java-play-framework/.swagger-codegen/VERSION index 7fea99011a6f..f9f7450d1359 100644 --- a/samples/server/petstore/java-play-framework/.swagger-codegen/VERSION +++ b/samples/server/petstore/java-play-framework/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/java-play-framework/public/swagger.json b/samples/server/petstore/java-play-framework/public/swagger.json index 3446ff8eac8a..c2d08f8e01fa 100644 --- a/samples/server/petstore/java-play-framework/public/swagger.json +++ b/samples/server/petstore/java-play-framework/public/swagger.json @@ -112,8 +112,8 @@ "type" : "array", "items" : { "type" : "string", - "enum" : [ "available", "pending", "sold" ], - "default" : "available" + "default" : "available", + "enum" : [ "available", "pending", "sold" ] }, "collectionFormat" : "csv" } ], @@ -723,6 +723,14 @@ }, "title" : "Pet Order", "description" : "An order for a pets from the pet store", + "example" : { + "petId" : 6, + "quantity" : 1, + "id" : 0, + "shipDate" : "2000-01-23T04:56:07.000+00:00", + "complete" : false, + "status" : "placed" + }, "xml" : { "name" : "Order" } @@ -740,6 +748,10 @@ }, "title" : "Pet catehgry", "description" : "A category for a pet", + "example" : { + "name" : "aeiou", + "id" : 6 + }, "xml" : { "name" : "Category" } @@ -777,6 +789,16 @@ }, "title" : "a User", "description" : "A User who is purchasing from the pet store", + "example" : { + "firstName" : "aeiou", + "lastName" : "aeiou", + "password" : "aeiou", + "userStatus" : 6, + "phone" : "aeiou", + "id" : 0, + "email" : "aeiou", + "username" : "aeiou" + }, "xml" : { "name" : "User" } @@ -794,6 +816,10 @@ }, "title" : "Pet Tag", "description" : "A tag for a pet", + "example" : { + "name" : "aeiou", + "id" : 1 + }, "xml" : { "name" : "Tag" } @@ -841,6 +867,20 @@ }, "title" : "a Pet", "description" : "A pet for sale in the pet store", + "example" : { + "photoUrls" : [ "aeiou" ], + "name" : "doggie", + "id" : 0, + "category" : { + "name" : "aeiou", + "id" : 6 + }, + "tags" : [ { + "name" : "aeiou", + "id" : 1 + } ], + "status" : "available" + }, "xml" : { "name" : "Pet" } @@ -860,7 +900,12 @@ } }, "title" : "An uploaded response", - "description" : "Describes the result of uploading an image resource" + "description" : "Describes the result of uploading an image resource", + "example" : { + "code" : 0, + "type" : "aeiou", + "message" : "aeiou" + } } }, "externalDocs" : { diff --git a/samples/server/petstore/undertow/.swagger-codegen/VERSION b/samples/server/petstore/undertow/.swagger-codegen/VERSION index 7fea99011a6f..f9f7450d1359 100644 --- a/samples/server/petstore/undertow/.swagger-codegen/VERSION +++ b/samples/server/petstore/undertow/.swagger-codegen/VERSION @@ -1 +1 @@ -2.2.3-SNAPSHOT \ No newline at end of file +2.3.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/undertow/src/main/resources/config/swagger.json b/samples/server/petstore/undertow/src/main/resources/config/swagger.json index 3446ff8eac8a..c2d08f8e01fa 100644 --- a/samples/server/petstore/undertow/src/main/resources/config/swagger.json +++ b/samples/server/petstore/undertow/src/main/resources/config/swagger.json @@ -112,8 +112,8 @@ "type" : "array", "items" : { "type" : "string", - "enum" : [ "available", "pending", "sold" ], - "default" : "available" + "default" : "available", + "enum" : [ "available", "pending", "sold" ] }, "collectionFormat" : "csv" } ], @@ -723,6 +723,14 @@ }, "title" : "Pet Order", "description" : "An order for a pets from the pet store", + "example" : { + "petId" : 6, + "quantity" : 1, + "id" : 0, + "shipDate" : "2000-01-23T04:56:07.000+00:00", + "complete" : false, + "status" : "placed" + }, "xml" : { "name" : "Order" } @@ -740,6 +748,10 @@ }, "title" : "Pet catehgry", "description" : "A category for a pet", + "example" : { + "name" : "aeiou", + "id" : 6 + }, "xml" : { "name" : "Category" } @@ -777,6 +789,16 @@ }, "title" : "a User", "description" : "A User who is purchasing from the pet store", + "example" : { + "firstName" : "aeiou", + "lastName" : "aeiou", + "password" : "aeiou", + "userStatus" : 6, + "phone" : "aeiou", + "id" : 0, + "email" : "aeiou", + "username" : "aeiou" + }, "xml" : { "name" : "User" } @@ -794,6 +816,10 @@ }, "title" : "Pet Tag", "description" : "A tag for a pet", + "example" : { + "name" : "aeiou", + "id" : 1 + }, "xml" : { "name" : "Tag" } @@ -841,6 +867,20 @@ }, "title" : "a Pet", "description" : "A pet for sale in the pet store", + "example" : { + "photoUrls" : [ "aeiou" ], + "name" : "doggie", + "id" : 0, + "category" : { + "name" : "aeiou", + "id" : 6 + }, + "tags" : [ { + "name" : "aeiou", + "id" : 1 + } ], + "status" : "available" + }, "xml" : { "name" : "Pet" } @@ -860,7 +900,12 @@ } }, "title" : "An uploaded response", - "description" : "Describes the result of uploading an image resource" + "description" : "Describes the result of uploading an image resource", + "example" : { + "code" : 0, + "type" : "aeiou", + "message" : "aeiou" + } } }, "externalDocs" : {