diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java b/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java index 2123bd873ff..c515c433d67 100644 --- a/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java +++ b/src/main/java/com/wordnik/swagger/codegen/CodegenOperation.java @@ -19,7 +19,7 @@ public class CodegenOperation { public List formParams = new ArrayList(); public List tags; public List responses = new ArrayList(); - + public final List responseHeaders = new ArrayList(); public Set imports = new HashSet(); public List> examples; public ExternalDocs externalDocs; diff --git a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 8039853d737..e0a6347c5ea 100644 --- a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -605,7 +605,8 @@ public class DefaultCodegen { } } - if(methodResponse != null && methodResponse.getSchema() != null) { + if(methodResponse != null) { + if (methodResponse.getSchema() != null) { CodegenProperty cm = fromProperty("response", methodResponse.getSchema()); Property responseProperty = methodResponse.getSchema(); @@ -631,6 +632,8 @@ public class DefaultCodegen { op.returnSimpleType = true; if (languageSpecificPrimitives().contains(op.returnBaseType) || op.returnBaseType == null) op.returnTypeIsPrimitive = true; + } + addHeaders(methodResponse, op.responseHeaders); } if(op.returnBaseType == null) { @@ -807,6 +810,14 @@ public class DefaultCodegen { return output; } + private void addHeaders(Response response, List target) { + if (response.getHeaders() != null) { + for (Map.Entry headers : response.getHeaders().entrySet()) { + target.add(fromProperty(headers.getKey(), headers.getValue())); + } + } + } + private List addHasMore(List objs) { if(objs != null) { for(int i = 0; i < objs.size(); i++) {