From 17230785083fcfd8e8bef3f23f460beeeddfd7eb Mon Sep 17 00:00:00 2001 From: David Kiss Date: Mon, 7 Dec 2015 22:34:38 -0500 Subject: [PATCH] added support in feign for binary uploads --- .../libraries/feign/FormAwareEncoder.mustache | 172 ++++++++++------- .../Java/libraries/feign/api.mustache | 8 +- samples/client/petstore/java/feign/README.md | 4 +- samples/client/petstore/java/feign/pom.xml | 4 +- .../petstore/java/feign/settings.gradle | 2 +- .../java/io/swagger/client/ApiClient.java | 2 +- .../io/swagger/client/FormAwareEncoder.java | 174 +++++++++++------- .../java/io/swagger/client/StringUtil.java | 2 +- .../java/io/swagger/client/api/PetApi.java | 26 ++- .../java/io/swagger/client/api/StoreApi.java | 16 +- .../java/io/swagger/client/api/UserApi.java | 24 +-- .../io/swagger/client/model/ApiResponse.java | 2 +- .../io/swagger/client/model/Category.java | 2 +- .../java/io/swagger/client/model/Order.java | 2 +- .../java/io/swagger/client/model/Pet.java | 2 +- .../java/io/swagger/client/model/Tag.java | 2 +- .../java/io/swagger/client/model/User.java | 2 +- .../swagger/petstore/test/StoreApiTest.java | 10 +- 18 files changed, 256 insertions(+), 200 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/feign/FormAwareEncoder.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/feign/FormAwareEncoder.mustache index d0f026cced9..822aad582d4 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/feign/FormAwareEncoder.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/feign/FormAwareEncoder.mustache @@ -4,21 +4,31 @@ import java.io.*; import java.lang.reflect.Type; import java.net.URLEncoder; import java.net.URLConnection; +import java.nio.charset.Charset; import java.util.*; import java.text.DateFormat; import java.text.SimpleDateFormat; +import feign.codec.EncodeException; import feign.codec.Encoder; import feign.RequestTemplate; {{>generatedAnnotation}} public class FormAwareEncoder implements Encoder { + public static final String UTF_8 = "utf-8"; private static final String LINE_FEED = "\r\n"; + private static final String TWO_DASH = "--"; private static final String BOUNDARY = "----------------314159265358979323846"; + private byte[] lineFeedBytes; + private byte[] boundaryBytes; + private byte[] twoDashBytes; + private byte[] atBytes; + private byte[] eqBytes; + private final Encoder delegate; - private DateFormat dateFormat; + private final DateFormat dateFormat; public FormAwareEncoder(Encoder delegate) { this.delegate = delegate; @@ -28,93 +38,121 @@ public class FormAwareEncoder implements Encoder { // Use UTC as the default time zone. this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + try { + this.lineFeedBytes = LINE_FEED.getBytes(UTF_8); + this.boundaryBytes = BOUNDARY.getBytes(UTF_8); + this.twoDashBytes = TWO_DASH.getBytes(UTF_8); + this.atBytes = "&".getBytes(UTF_8); + this.eqBytes = "=".getBytes(UTF_8); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } } - public void encode(Object object, Type bodyType, RequestTemplate template) { + public void encode(Object object, Type bodyType, RequestTemplate template) throws EncodeException { if (object instanceof Map) { - StringBuilder formParamBuilder = new StringBuilder(); - Map formParams = (Map) object; - boolean isMultiPart = isMultiPart(formParams); - for (Map.Entry param : formParams.entrySet()) { - String keyStr = param.getKey(); - if (param.getValue() instanceof File) { - addFilePart(formParamBuilder, keyStr, (File) param.getValue()); - } else { - String valueStr = parameterToString(param.getValue()); - if (isMultiPart) { - addMultiPartFormField(formParamBuilder, keyStr, valueStr); - } else { - addEncodedFormField(formParamBuilder, keyStr, valueStr); - } - } + try { + encodeFormParams(template, (Map) object); + } catch (IOException e) { + throw new EncodeException("Failed to create request", e); } - - if (isMultiPart) { - formParamBuilder.append(LINE_FEED); - formParamBuilder.append("--").append(BOUNDARY).append("--").append(LINE_FEED); - } - - String contentType = isMultiPart ? "multipart/form-data; boundary=" + BOUNDARY : "application/x-www-form-urlencoded"; - template.header("Content-type"); - template.header("Content-type", contentType); - template.header("MIME-Version", "1.0"); - template.body(formParamBuilder.toString()); } else { delegate.encode(object, bodyType, template); } } + private void encodeFormParams(RequestTemplate template, Map formParams) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + boolean isMultiPart = isMultiPart(formParams); + boolean isFirstField = true; + for (Map.Entry param : formParams.entrySet()) { + String keyStr = param.getKey(); + if (param.getValue() instanceof File) { + addFilePart(baos, keyStr, (File) param.getValue()); + } else { + String valueStr = parameterToString(param.getValue()); + if (isMultiPart) { + addMultiPartFormField(baos, keyStr, valueStr); + } else { + addEncodedFormField(baos, keyStr, valueStr, isFirstField); + isFirstField = false; + } + } + } + + if (isMultiPart) { + baos.write(lineFeedBytes); + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(twoDashBytes); + baos.write(lineFeedBytes); + } + + String contentType = isMultiPart ? "multipart/form-data; boundary=" + BOUNDARY : "application/x-www-form-urlencoded"; + template.header("Content-type"); + template.header("Content-type", contentType); + template.header("MIME-Version", "1.0"); + template.body(baos.toByteArray(), Charset.forName(UTF_8)); + } + /* * Currently only supports text files */ - private void addFilePart(StringBuilder formParamBuilder, String fieldName, File uploadFile) { - try { - String fileName = uploadFile.getName(); - formParamBuilder.append("--").append(BOUNDARY).append(LINE_FEED); - formParamBuilder.append( - "Content-Disposition: form-data; name=\"" + fieldName - + "\"; filename=\"" + fileName + "\"") - .append(LINE_FEED); - formParamBuilder.append( - "Content-Type: " - + URLConnection.guessContentTypeFromName(fileName)) - .append(LINE_FEED); - formParamBuilder.append(LINE_FEED); + private void addFilePart(ByteArrayOutputStream baos, String fieldName, File uploadFile) throws IOException { + String fileName = uploadFile.getName(); + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(lineFeedBytes); - BufferedReader reader = new BufferedReader(new FileReader(uploadFile)); - String line = ""; - while ((line = reader.readLine()) != null) { - formParamBuilder.append(line).append(LINE_FEED); - } + String contentDisposition = "Content-Disposition: form-data; name=\"" + fieldName + + "\"; filename=\"" + fileName + "\""; + baos.write(contentDisposition.getBytes(UTF_8)); + baos.write(lineFeedBytes); + String contentType = "Content-Type: " + URLConnection.guessContentTypeFromName(fileName); + baos.write(contentType.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(lineFeedBytes); - formParamBuilder.append(LINE_FEED); - } catch (IOException e) { - e.printStackTrace(); + BufferedReader reader = new BufferedReader(new FileReader(uploadFile)); + InputStream input = new FileInputStream(uploadFile); + byte[] bytes = new byte[4096]; + int len = bytes.length; + while ((len = input.read(bytes)) != -1) { + baos.write(bytes, 0, len); + baos.write(lineFeedBytes); } + + baos.write(lineFeedBytes); } - private void addEncodedFormField(StringBuilder formParamBuilder, String name, String value) { - if (formParamBuilder.length() > 0) { - formParamBuilder.append("&"); + private void addEncodedFormField(ByteArrayOutputStream baos, String name, String value, boolean isFirstField) throws IOException { + if (!isFirstField) { + baos.write(atBytes); } - try { - formParamBuilder.append(URLEncoder.encode(name, "utf8")) - .append("=") - .append(URLEncoder.encode(value, "utf8")); - } catch (UnsupportedEncodingException e) { - // move on to next - } + String encodedName = URLEncoder.encode(name, UTF_8); + String encodedValue = URLEncoder.encode(value, UTF_8); + baos.write(encodedName.getBytes(UTF_8)); + baos.write("=".getBytes(UTF_8)); + baos.write(encodedValue.getBytes(UTF_8)); } - private void addMultiPartFormField(StringBuilder formParamBuilder, String name, String value) { - formParamBuilder.append("--").append(BOUNDARY).append(LINE_FEED); - formParamBuilder.append("Content-Disposition: form-data; name=\"" + name + "\"") - .append(LINE_FEED); - formParamBuilder.append("Content-Type: text/plain; charset=utf-8").append( - LINE_FEED); - formParamBuilder.append(LINE_FEED); - formParamBuilder.append(value).append(LINE_FEED); + private void addMultiPartFormField(ByteArrayOutputStream baos, String name, String value) throws IOException { + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(lineFeedBytes); + + String contentDisposition = "Content-Disposition: form-data; name=\"" + name + "\""; + String contentType = "Content-Type: text/plain; charset=utf-8"; + + baos.write(contentDisposition.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(contentType.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(lineFeedBytes); + baos.write(value.getBytes(UTF_8)); + baos.write(lineFeedBytes); } private boolean isMultiPart(Map formParams) { diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/feign/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/feign/api.mustache index 20106806102..30c8a793914 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/feign/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/feign/api.mustache @@ -1,10 +1,6 @@ package {{package}}; -import {{invokerPackage}}.ApiException; import {{invokerPackage}}.ApiClient; -import {{invokerPackage}}.Configuration; -import {{invokerPackage}}.Pair; -import {{invokerPackage}}.TypeRef; {{#imports}}import {{import}}; {{/imports}} @@ -14,7 +10,7 @@ import {{invokerPackage}}.TypeRef; import feign.*; {{>generatedAnnotation}} -public interface {{classname}} extends {{invokerPackage}}.ApiClient.Api { +public interface {{classname}} extends ApiClient.Api { {{#operations}}{{#operation}} /** @@ -30,7 +26,7 @@ public interface {{classname}} extends {{invokerPackage}}.ApiClient.Api { "{{paramName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{#hasMore}}, {{/hasMore}}{{/headerParams}} }) - {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^vendorExtensions.x-isBody}}@Param("{{paramName}}") {{/vendorExtensions.x-isBody}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException; + {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^vendorExtensions.x-isBody}}@Param("{{paramName}}") {{/vendorExtensions.x-isBody}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); {{/operation}} {{/operations}} } diff --git a/samples/client/petstore/java/feign/README.md b/samples/client/petstore/java/feign/README.md index 3ca7abfb557..8afc37518fc 100644 --- a/samples/client/petstore/java/feign/README.md +++ b/samples/client/petstore/java/feign/README.md @@ -1,4 +1,4 @@ -# swagger-petstore-feign +# swagger-java-client ## Requirements @@ -25,7 +25,7 @@ After the client libarary is installed/deployed, you can use it in your Maven pr ```xml io.swagger - swagger-petstore-feign + swagger-java-client 1.0.0 compile diff --git a/samples/client/petstore/java/feign/pom.xml b/samples/client/petstore/java/feign/pom.xml index 5f7e9551862..967bdabcc6b 100644 --- a/samples/client/petstore/java/feign/pom.xml +++ b/samples/client/petstore/java/feign/pom.xml @@ -2,9 +2,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 io.swagger - swagger-petstore-feign + swagger-java-client jar - swagger-petstore-feign + swagger-java-client 1.0.0 scm:git:git@github.com:swagger-api/swagger-mustache.git diff --git a/samples/client/petstore/java/feign/settings.gradle b/samples/client/petstore/java/feign/settings.gradle index a25109c126e..55640f75122 100644 --- a/samples/client/petstore/java/feign/settings.gradle +++ b/samples/client/petstore/java/feign/settings.gradle @@ -1 +1 @@ -rootProject.name = "swagger-petstore-feign" \ No newline at end of file +rootProject.name = "swagger-java-client" \ No newline at end of file diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/ApiClient.java index e486c713a92..001d05f49f0 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/ApiClient.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/ApiClient.java @@ -8,7 +8,7 @@ import feign.jackson.JacksonDecoder; import feign.jackson.JacksonEncoder; import feign.slf4j.Slf4jLogger; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class ApiClient { public interface Api {} diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/FormAwareEncoder.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/FormAwareEncoder.java index 3ec3c6b9274..3f0230a406a 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/FormAwareEncoder.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/FormAwareEncoder.java @@ -4,21 +4,31 @@ import java.io.*; import java.lang.reflect.Type; import java.net.URLEncoder; import java.net.URLConnection; +import java.nio.charset.Charset; import java.util.*; import java.text.DateFormat; import java.text.SimpleDateFormat; +import feign.codec.EncodeException; import feign.codec.Encoder; import feign.RequestTemplate; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class FormAwareEncoder implements Encoder { + public static final String UTF_8 = "utf-8"; private static final String LINE_FEED = "\r\n"; + private static final String TWO_DASH = "--"; private static final String BOUNDARY = "----------------314159265358979323846"; + private byte[] lineFeedBytes; + private byte[] boundaryBytes; + private byte[] twoDashBytes; + private byte[] atBytes; + private byte[] eqBytes; + private final Encoder delegate; - private DateFormat dateFormat; + private final DateFormat dateFormat; public FormAwareEncoder(Encoder delegate) { this.delegate = delegate; @@ -28,93 +38,121 @@ public class FormAwareEncoder implements Encoder { // Use UTC as the default time zone. this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + try { + this.lineFeedBytes = LINE_FEED.getBytes(UTF_8); + this.boundaryBytes = BOUNDARY.getBytes(UTF_8); + this.twoDashBytes = TWO_DASH.getBytes(UTF_8); + this.atBytes = "&".getBytes(UTF_8); + this.eqBytes = "=".getBytes(UTF_8); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } } - public void encode(Object object, Type bodyType, RequestTemplate template) { + public void encode(Object object, Type bodyType, RequestTemplate template) throws EncodeException { if (object instanceof Map) { - StringBuilder formParamBuilder = new StringBuilder(); - Map formParams = (Map) object; - boolean isMultiPart = isMultiPart(formParams); - for (Map.Entry param : formParams.entrySet()) { - String keyStr = param.getKey(); - if (param.getValue() instanceof File) { - addFilePart(formParamBuilder, keyStr, (File) param.getValue()); - } else { - String valueStr = parameterToString(param.getValue()); - if (isMultiPart) { - addMultiPartFormField(formParamBuilder, keyStr, valueStr); - } else { - addEncodedFormField(formParamBuilder, keyStr, valueStr); - } - } + try { + encodeFormParams(template, (Map) object); + } catch (IOException e) { + throw new EncodeException("Failed to create request", e); } - - if (isMultiPart) { - formParamBuilder.append(LINE_FEED); - formParamBuilder.append("--").append(BOUNDARY).append("--").append(LINE_FEED); - } - - String contentType = isMultiPart ? "multipart/form-data; boundary=" + BOUNDARY : "application/x-www-form-urlencoded"; - template.header("Content-type"); - template.header("Content-type", contentType); - template.header("MIME-Version", "1.0"); - template.body(formParamBuilder.toString()); } else { delegate.encode(object, bodyType, template); } } + private void encodeFormParams(RequestTemplate template, Map formParams) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + boolean isMultiPart = isMultiPart(formParams); + boolean isFirstField = true; + for (Map.Entry param : formParams.entrySet()) { + String keyStr = param.getKey(); + if (param.getValue() instanceof File) { + addFilePart(baos, keyStr, (File) param.getValue()); + } else { + String valueStr = parameterToString(param.getValue()); + if (isMultiPart) { + addMultiPartFormField(baos, keyStr, valueStr); + } else { + addEncodedFormField(baos, keyStr, valueStr, isFirstField); + isFirstField = false; + } + } + } + + if (isMultiPart) { + baos.write(lineFeedBytes); + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(twoDashBytes); + baos.write(lineFeedBytes); + } + + String contentType = isMultiPart ? "multipart/form-data; boundary=" + BOUNDARY : "application/x-www-form-urlencoded"; + template.header("Content-type"); + template.header("Content-type", contentType); + template.header("MIME-Version", "1.0"); + template.body(baos.toByteArray(), Charset.forName(UTF_8)); + } + /* * Currently only supports text files */ - private void addFilePart(StringBuilder formParamBuilder, String fieldName, File uploadFile) { - try { - String fileName = uploadFile.getName(); - formParamBuilder.append("--").append(BOUNDARY).append(LINE_FEED); - formParamBuilder.append( - "Content-Disposition: form-data; name=\"" + fieldName - + "\"; filename=\"" + fileName + "\"") - .append(LINE_FEED); - formParamBuilder.append( - "Content-Type: " - + URLConnection.guessContentTypeFromName(fileName)) - .append(LINE_FEED); - formParamBuilder.append(LINE_FEED); + private void addFilePart(ByteArrayOutputStream baos, String fieldName, File uploadFile) throws IOException { + String fileName = uploadFile.getName(); + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(lineFeedBytes); - BufferedReader reader = new BufferedReader(new FileReader(uploadFile)); - String line = ""; - while ((line = reader.readLine()) != null) { - formParamBuilder.append(line).append(LINE_FEED); - } + String contentDisposition = "Content-Disposition: form-data; name=\"" + fieldName + + "\"; filename=\"" + fileName + "\""; + baos.write(contentDisposition.getBytes(UTF_8)); + baos.write(lineFeedBytes); + String contentType = "Content-Type: " + URLConnection.guessContentTypeFromName(fileName); + baos.write(contentType.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(lineFeedBytes); - formParamBuilder.append(LINE_FEED); - } catch (IOException e) { - e.printStackTrace(); + BufferedReader reader = new BufferedReader(new FileReader(uploadFile)); + InputStream input = new FileInputStream(uploadFile); + byte[] bytes = new byte[4096]; + int len = bytes.length; + while ((len = input.read(bytes)) != -1) { + baos.write(bytes, 0, len); + baos.write(lineFeedBytes); } + + baos.write(lineFeedBytes); } - private void addEncodedFormField(StringBuilder formParamBuilder, String name, String value) { - if (formParamBuilder.length() > 0) { - formParamBuilder.append("&"); + private void addEncodedFormField(ByteArrayOutputStream baos, String name, String value, boolean isFirstField) throws IOException { + if (!isFirstField) { + baos.write(atBytes); } - try { - formParamBuilder.append(URLEncoder.encode(name, "utf8")) - .append("=") - .append(URLEncoder.encode(value, "utf8")); - } catch (UnsupportedEncodingException e) { - // move on to next - } + String encodedName = URLEncoder.encode(name, UTF_8); + String encodedValue = URLEncoder.encode(value, UTF_8); + baos.write(encodedName.getBytes(UTF_8)); + baos.write("=".getBytes(UTF_8)); + baos.write(encodedValue.getBytes(UTF_8)); } - private void addMultiPartFormField(StringBuilder formParamBuilder, String name, String value) { - formParamBuilder.append("--").append(BOUNDARY).append(LINE_FEED); - formParamBuilder.append("Content-Disposition: form-data; name=\"" + name + "\"") - .append(LINE_FEED); - formParamBuilder.append("Content-Type: text/plain; charset=utf-8").append( - LINE_FEED); - formParamBuilder.append(LINE_FEED); - formParamBuilder.append(value).append(LINE_FEED); + private void addMultiPartFormField(ByteArrayOutputStream baos, String name, String value) throws IOException { + baos.write(twoDashBytes); + baos.write(boundaryBytes); + baos.write(lineFeedBytes); + + String contentDisposition = "Content-Disposition: form-data; name=\"" + name + "\""; + String contentType = "Content-Type: text/plain; charset=utf-8"; + + baos.write(contentDisposition.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(contentType.getBytes(UTF_8)); + baos.write(lineFeedBytes); + baos.write(lineFeedBytes); + baos.write(value.getBytes(UTF_8)); + baos.write(lineFeedBytes); } private boolean isMultiPart(Map formParams) { diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/StringUtil.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/StringUtil.java index 82b8d8afa0b..db6460490fa 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/StringUtil.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/StringUtil.java @@ -1,6 +1,6 @@ package io.swagger.client; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-01T16:10:23.565+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java index e2e7e6ce742..caa70b4260a 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/PetApi.java @@ -1,20 +1,18 @@ package io.swagger.client.api; -import io.swagger.client.ApiException; import io.swagger.client.ApiClient; -import io.swagger.client.Configuration; -import io.swagger.client.Pair; -import io.swagger.client.TypeRef; import io.swagger.client.model.Pet; import java.io.File; import io.swagger.client.model.ApiResponse; + import java.util.*; + import feign.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") -public interface PetApi extends io.swagger.client.ApiClient.Api { +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") +public interface PetApi extends ApiClient.Api { /** @@ -28,7 +26,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void updatePet(Pet body) throws ApiException; + void updatePet(Pet body); /** * Add a new pet to the store @@ -41,7 +39,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void addPet(Pet body) throws ApiException; + void addPet(Pet body); /** * Finds Pets by status @@ -54,7 +52,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - List findPetsByStatus(@Param("status") List status) throws ApiException; + List findPetsByStatus(@Param("status") List status); /** * Finds Pets by tags @@ -67,7 +65,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - List findPetsByTags(@Param("tags") List tags) throws ApiException; + List findPetsByTags(@Param("tags") List tags); /** * Find pet by ID @@ -80,7 +78,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - Pet getPetById(@Param("petId") Long petId) throws ApiException; + Pet getPetById(@Param("petId") Long petId); /** * Updates a pet in the store with form data @@ -95,7 +93,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: application/x-www-form-urlencoded", "Accepts: application/json", }) - void updatePetWithForm(@Param("petId") Long petId, @Param("name") String name, @Param("status") String status) throws ApiException; + void updatePetWithForm(@Param("petId") Long petId, @Param("name") String name, @Param("status") String status); /** * Deletes a pet @@ -110,7 +108,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Accepts: application/json", "apiKey: {apiKey}" }) - void deletePet(@Param("petId") Long petId, @Param("apiKey") String apiKey) throws ApiException; + void deletePet(@Param("petId") Long petId, @Param("apiKey") String apiKey); /** * uploads an image @@ -125,7 +123,7 @@ public interface PetApi extends io.swagger.client.ApiClient.Api { "Content-type: multipart/form-data", "Accepts: application/json", }) - ApiResponse uploadFile(@Param("petId") Long petId, @Param("additionalMetadata") String additionalMetadata, @Param("file") File file) throws ApiException; + ApiResponse uploadFile(@Param("petId") Long petId, @Param("additionalMetadata") String additionalMetadata, @Param("file") File file); } diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/StoreApi.java index 87321de5df7..a022f684a4e 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/StoreApi.java @@ -1,10 +1,6 @@ package io.swagger.client.api; -import io.swagger.client.ApiException; import io.swagger.client.ApiClient; -import io.swagger.client.Configuration; -import io.swagger.client.Pair; -import io.swagger.client.TypeRef; import java.util.Map; import io.swagger.client.model.Order; @@ -14,8 +10,8 @@ import java.util.*; import feign.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") -public interface StoreApi extends io.swagger.client.ApiClient.Api { +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") +public interface StoreApi extends ApiClient.Api { /** @@ -28,7 +24,7 @@ public interface StoreApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - Map getInventory() throws ApiException; + Map getInventory(); /** * Place an order for a pet @@ -41,7 +37,7 @@ public interface StoreApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - Order placeOrder(Order body) throws ApiException; + Order placeOrder(Order body); /** * Find purchase order by ID @@ -54,7 +50,7 @@ public interface StoreApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - Order getOrderById(@Param("orderId") Long orderId) throws ApiException; + Order getOrderById(@Param("orderId") Long orderId); /** * Delete purchase order by ID @@ -67,7 +63,7 @@ public interface StoreApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void deleteOrder(@Param("orderId") String orderId) throws ApiException; + void deleteOrder(@Param("orderId") String orderId); } diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/UserApi.java index 070ca861818..b2bac15d873 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/api/UserApi.java @@ -1,10 +1,6 @@ package io.swagger.client.api; -import io.swagger.client.ApiException; import io.swagger.client.ApiClient; -import io.swagger.client.Configuration; -import io.swagger.client.Pair; -import io.swagger.client.TypeRef; import io.swagger.client.model.User; import java.util.*; @@ -14,8 +10,8 @@ import java.util.*; import feign.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") -public interface UserApi extends io.swagger.client.ApiClient.Api { +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") +public interface UserApi extends ApiClient.Api { /** @@ -29,7 +25,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void createUser(User body) throws ApiException; + void createUser(User body); /** * Creates list of users with given input array @@ -42,7 +38,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void createUsersWithArrayInput(List body) throws ApiException; + void createUsersWithArrayInput(List body); /** * Creates list of users with given input array @@ -55,7 +51,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void createUsersWithListInput(List body) throws ApiException; + void createUsersWithListInput(List body); /** * Logs user into the system @@ -69,7 +65,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - String loginUser(@Param("username") String username, @Param("password") String password) throws ApiException; + String loginUser(@Param("username") String username, @Param("password") String password); /** * Logs out current logged in user session @@ -81,7 +77,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void logoutUser() throws ApiException; + void logoutUser(); /** * Get user by user name @@ -94,7 +90,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - User getUserByName(@Param("username") String username) throws ApiException; + User getUserByName(@Param("username") String username); /** * Updated user @@ -108,7 +104,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void updateUser(@Param("username") String username, User body) throws ApiException; + void updateUser(@Param("username") String username, User body); /** * Delete user @@ -121,7 +117,7 @@ public interface UserApi extends io.swagger.client.ApiClient.Api { "Content-type: application/json", "Accepts: application/json", }) - void deleteUser(@Param("username") String username) throws ApiException; + void deleteUser(@Param("username") String username); } diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/ApiResponse.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/ApiResponse.java index f06d10acff2..4843a51e988 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/ApiResponse.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/ApiResponse.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class ApiResponse { private Integer code = null; diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Category.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Category.java index 8edf7db0051..a414345dd63 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Category.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Category.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class Category { private Long id = null; diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Order.java index a057e4899f0..4f045ca0410 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Order.java @@ -13,7 +13,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class Order { private Long id = null; diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Pet.java index a844cfa8a83..4029fc4362e 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Pet.java @@ -15,7 +15,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class Pet { private Long id = null; diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Tag.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Tag.java index 7995cbcaa9c..2c3b0132bc6 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Tag.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/Tag.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class Tag { private Long id = null; diff --git a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/User.java b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/User.java index d0d004b8c11..a8e902dd21f 100644 --- a/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/User.java +++ b/samples/client/petstore/java/feign/src/main/java/io/swagger/client/model/User.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T01:11:21.159-05:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-12-07T22:27:06.680-05:00") public class User { private Long id = null; diff --git a/samples/client/petstore/java/feign/src/test/java/io/swagger/petstore/test/StoreApiTest.java b/samples/client/petstore/java/feign/src/test/java/io/swagger/petstore/test/StoreApiTest.java index 060e73e5efd..b91c391e991 100644 --- a/samples/client/petstore/java/feign/src/test/java/io/swagger/petstore/test/StoreApiTest.java +++ b/samples/client/petstore/java/feign/src/test/java/io/swagger/petstore/test/StoreApiTest.java @@ -1,7 +1,5 @@ package io.swagger.petstore.test; -import io.swagger.client.ApiException; - import io.swagger.client.*; import io.swagger.client.api.*; import io.swagger.client.model.*; @@ -48,12 +46,8 @@ public class StoreApiTest { api.deleteOrder(String.valueOf(order.getId())); - try { - api.getOrderById(order.getId()); - // fail("expected an error"); - } catch (ApiException e) { - // ok - } + api.getOrderById(order.getId()); +// fail("expected an error"); } private Order createOrder() {