diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java b/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java index d4d0027ccf6..3609e53d9ee 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, subresourceOperation; + public Boolean hasConsumes, hasProduces, 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/DefaultCodegen.java b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 207fb37c4fa..87cc60b5c74 100644 --- a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -562,6 +562,7 @@ public class DefaultCodegen { c.add(mediaType); } op.consumes = c; + op.hasConsumes = true; } if(operation.getProduces() != null && operation.getProduces().size() > 0) { @@ -576,6 +577,7 @@ public class DefaultCodegen { c.add(mediaType); } op.produces = c; + op.hasProduces = true; } if(operation.getResponses() != null) { diff --git a/src/main/resources/JavaJaxRS/api.mustache b/src/main/resources/JavaJaxRS/api.mustache index 88a65f8a59a..fe287c9ddfe 100644 --- a/src/main/resources/JavaJaxRS/api.mustache +++ b/src/main/resources/JavaJaxRS/api.mustache @@ -3,6 +3,7 @@ package {{package}}; import {{modelPackage}}.*; import com.wordnik.swagger.annotations.*; +import com.sun.jersey.multipart.FormDataParam; {{#imports}}import {{import}}; {{/imports}} @@ -15,18 +16,19 @@ import javax.ws.rs.*; @Path("/{{baseName}}") @Api(value = "/{{baseName}}", description = "the {{baseName}} API") -@Produces({"application/json"}) {{#operations}} public class {{classname}} { {{#operation}} @{{httpMethod}} {{#subresourceOperation}}@Path("{{path}}"){{/subresourceOperation}} + {{#hasConsumes}}@Consumes({ {{#consumes}}"{{mediaType}}"{{#hasMore}}, {{/hasMore}}{{/consumes}} }){{/hasConsumes}} + {{#hasProduces}}@Produces({ {{#produces}}"{{mediaType}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }){{/hasProduces}} @ApiOperation(value = "{{{summary}}}", notes = "{{{notes}}}", response = {{{returnType}}}.class{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}) @ApiResponses(value = { {{#responses}} @ApiResponse(code = {{{code}}}, message = "{{{message}}}"){{#hasMore}}, {{/hasMore}}{{/responses}} }) - public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{#hasMore}}, + public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws NotFoundException { // do some magic! diff --git a/src/main/resources/JavaJaxRS/pom.mustache b/src/main/resources/JavaJaxRS/pom.mustache index 15f466fe9c4..e0782610efd 100644 --- a/src/main/resources/JavaJaxRS/pom.mustache +++ b/src/main/resources/JavaJaxRS/pom.mustache @@ -71,9 +71,8 @@ com.wordnik - swagger-jaxrs + swagger-jersey-jaxrs ${swagger-core-version} - compile org.slf4j @@ -95,6 +94,16 @@ jersey-servlet ${jersey-version} + + com.sun.jersey.contribs + jersey-multipart + ${jersey-version} + + + com.sun.jersey + jersey-server + ${jersey-version} + org.scalatest