From 7e2def146c27718053ee69dd2a5c5c6d6e3c12d4 Mon Sep 17 00:00:00 2001 From: Mike Gilbode Date: Wed, 11 Nov 2015 11:13:23 -0500 Subject: [PATCH 1/2] Modifies conversion logic so that void response types will still result in a default response being created when converting to swagger 2.0. Previously void response types would result in no responses attribute for the given operation and an invalid swagger 2.0. --- .../swagger/parser/SwaggerCompatConverter.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java b/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java index b9969a5570..cbee1c82bb 100644 --- a/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java +++ b/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java @@ -437,15 +437,13 @@ public Operation convertOperation(String tag, io.swagger.models.apideclaration.O // default response type Property responseProperty = propertyFromTypedObject(operation); - if (responseProperty != null) { - Response response = new Response() - .description("success") - .schema(responseProperty); - if (output.getResponses() == null) { - output.defaultResponse(response); - } else { - output.response(200, response); - } + Response response = new Response() + .description("success") + .schema(responseProperty); + if (output.getResponses() == null) { + output.defaultResponse(response); + } else { + output.response(200, response); } Map> auths = operation.getAuthorizations(); From 44bbc4e4af30cca82f19b9d0af34b7da33ece483 Mon Sep 17 00:00:00 2001 From: Mike Gilbode Date: Wed, 11 Nov 2015 11:43:36 -0500 Subject: [PATCH 2/2] Fix test failures and augment tests for void response type. --- .../main/java/io/swagger/parser/SwaggerCompatConverter.java | 2 +- .../test/java/io/swagger/converter/LegacyConverterTest.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java b/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java index cbee1c82bb..8eb9e87cbd 100644 --- a/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java +++ b/modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java @@ -442,7 +442,7 @@ public Operation convertOperation(String tag, io.swagger.models.apideclaration.O .schema(responseProperty); if (output.getResponses() == null) { output.defaultResponse(response); - } else { + } else if (responseProperty != null) { output.response(200, response); } diff --git a/modules/swagger-compat-spec-parser/src/test/java/io/swagger/converter/LegacyConverterTest.java b/modules/swagger-compat-spec-parser/src/test/java/io/swagger/converter/LegacyConverterTest.java index 0a4b59424b..5b38d21015 100644 --- a/modules/swagger-compat-spec-parser/src/test/java/io/swagger/converter/LegacyConverterTest.java +++ b/modules/swagger-compat-spec-parser/src/test/java/io/swagger/converter/LegacyConverterTest.java @@ -130,7 +130,10 @@ public void testFixedProperties() throws IOException { for (Response item : path.getPost().getResponses().values()) { assertNull(item.getSchema()); } - assertNull(path.getDelete().getResponses()); + assertEquals(path.getDelete().getResponses().size(), 1); + assertEquals(path.getDelete().getResponses().containsKey("default"), true); + assertEquals(path.getDelete().getResponses().get("default").getDescription(), "success"); + final PathParameter id = (PathParameter) Iterables.find(path.getPatch().getParameters(), new Predicate() {