From 9aa9f4e842736d2f7f85946946285bb79950b290 Mon Sep 17 00:00:00 2001 From: russellb337 Date: Fri, 2 Jan 2015 13:52:36 -0800 Subject: [PATCH] fix JaxRS code gen to only generated @PATH annotation on a given resource function when that function is a "sub resource" (e.g. @PATH("/{id}") or @PATH("/{id}/operation") --- src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java | 2 +- .../wordnik/swagger/codegen/languages/JaxRSServerCodegen.java | 1 + src/main/resources/JavaJaxRS/api.mustache | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java b/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java index c515c433d67d..d4d0027ccf61 100644 --- a/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java +++ b/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java @@ -5,7 +5,7 @@ import com.wordnik.swagger.models.*; import java.util.*; public class CodegenOperation { - public Boolean hasParams, returnTypeIsPrimitive, returnSimpleType; + public Boolean hasParams, returnTypeIsPrimitive, returnSimpleType, subresourceOperation; public String path, operationId, returnType, httpMethod, returnBaseType, returnContainer, summary, notes, baseName, defaultResponse; diff --git a/src/main/java/com/wordnik/swagger/codegen/languages/JaxRSServerCodegen.java b/src/main/java/com/wordnik/swagger/codegen/languages/JaxRSServerCodegen.java index 0bb1c4e8b6f8..6c805e993c9e 100644 --- a/src/main/java/com/wordnik/swagger/codegen/languages/JaxRSServerCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/languages/JaxRSServerCodegen.java @@ -80,6 +80,7 @@ public class JaxRSServerCodegen extends JavaClientCodegen implements CodegenConf else { if(co.path.startsWith("/" + basePath)) co.path = co.path.substring(("/" + basePath).length()); + co.subresourceOperation = !co.path.isEmpty(); } List opList = operations.get(basePath); if(opList == null) { diff --git a/src/main/resources/JavaJaxRS/api.mustache b/src/main/resources/JavaJaxRS/api.mustache index adcacaeb29e0..88a65f8a59a4 100644 --- a/src/main/resources/JavaJaxRS/api.mustache +++ b/src/main/resources/JavaJaxRS/api.mustache @@ -20,7 +20,7 @@ import javax.ws.rs.*; public class {{classname}} { {{#operation}} @{{httpMethod}} - @Path("{{path}}") + {{#subresourceOperation}}@Path("{{path}}"){{/subresourceOperation}} @ApiOperation(value = "{{{summary}}}", notes = "{{{notes}}}", response = {{{returnType}}}.class{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}) @ApiResponses(value = { {{#responses}} @ApiResponse(code = {{{code}}}, message = "{{{message}}}"){{#hasMore}},