Skip to content

Commit 31e8aca

Browse files
b_sapirb_sapir
b_sapir
authored and
b_sapir
committed
Handle correctly the case of no default response (see comment in swagger-api#1124)
1 parent d746894 commit 31e8aca

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class CodegenOperation {
1212
public final List<CodegenProperty> responseHeaders = new ArrayList<CodegenProperty>();
1313
public Boolean hasConsumes, hasProduces, hasParams, returnTypeIsPrimitive,
1414
returnSimpleType, subresourceOperation, isMapContainer, isListContainer,
15-
hasMore = Boolean.TRUE, isMultipart;
15+
hasMore = Boolean.TRUE, isMultipart, isResponseBinary = Boolean.FALSE;
1616
public String path, operationId, returnType, httpMethod, returnBaseType,
1717
returnContainer, summary, notes, baseName, defaultResponse;
1818
public List<Map<String, String>> consumes, produces;

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class CodegenResponse {
1515
public Boolean primitiveType;
1616
public Boolean isMapContainer;
1717
public Boolean isListContainer;
18-
public Boolean isBinary;
18+
public Boolean isBinary = Boolean.FALSE;
1919
public Object schema;
2020
public String jsonSchema;
2121

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,9 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
835835
}
836836
r.isDefault = response == methodResponse;
837837
op.responses.add(r);
838+
if (r.isBinary && r.isDefault){
839+
op.isResponseBinary = Boolean.TRUE;
840+
}
838841
}
839842
op.responses.get(op.responses.size() - 1).hasMore = false;
840843

modules/swagger-codegen/src/main/resources/Java/api.mustache

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,23 @@ public class {{classname}} {
8686
final String {{localVariablePrefix}}contentType = {{localVariablePrefix}}apiClient.selectHeaderContentType({{localVariablePrefix}}contentTypes);
8787

8888
String[] {{localVariablePrefix}}authNames = new String[] { {{#authMethods}}"{{name}}"{{#hasMore}}, {{/hasMore}}{{/authMethods}} };
89-
{{#responses}}
90-
{{#isDefault}}
9189

92-
{{#isBinary}}
90+
{{#isResponseBinary}}
9391
byte[] {{localVariablePrefix}}response = null;
9492
{{localVariablePrefix}}response = {{localVariablePrefix}}apiClient.invokeBinaryAPI({{localVariablePrefix}}path, "{{httpMethod}}", {{localVariablePrefix}}queryParams,{{localVariablePrefix}} postBody, {{localVariablePrefix}}postBinaryBody, {{localVariablePrefix}}headerParams, {{localVariablePrefix}}formParams, {{localVariablePrefix}}accept, {{localVariablePrefix}}contentType, {{localVariablePrefix}}authNames);
9593
return {{localVariablePrefix}}response;
96-
{{/isBinary}}
94+
{{/isResponseBinary}}
9795

98-
{{^isBinary}}
96+
{{^isResponseBinary}}
9997
{{#returnType}}
10098
TypeRef {{localVariablePrefix}}returnType = new TypeRef<{{{returnType}}}>() {};
10199
return {{localVariablePrefix}}apiClient.invokeAPI({{localVariablePrefix}}path, "{{httpMethod}}", {{localVariablePrefix}}queryParams, {{localVariablePrefix}}postBody, {{localVariablePrefix}}postBinaryBody, {{localVariablePrefix}}headerParams, {{localVariablePrefix}}formParams, {{localVariablePrefix}}accept, {{localVariablePrefix}}contentType, {{localVariablePrefix}}authNames, {{localVariablePrefix}}returnType);
102100
{{/returnType}}{{^returnType}}
103101
{{localVariablePrefix}}apiClient.invokeAPI({{localVariablePrefix}}path, "{{httpMethod}}", {{localVariablePrefix}}queryParams, {{localVariablePrefix}}postBody, {{localVariablePrefix}}postBinaryBody, {{localVariablePrefix}}headerParams, {{localVariablePrefix}}formParams, {{localVariablePrefix}}accept, {{localVariablePrefix}}contentType, {{localVariablePrefix}}authNames, null);
104102
{{/returnType}}
105-
{{/isBinary}}
103+
{{/isResponseBinary}}
104+
106105

107-
{{/isDefault}}
108-
{{/responses}}
109106
}
110107
{{/operation}}
111108
}

0 commit comments

Comments
 (0)