diff --git a/docs/new-generator.md b/docs/new-generator.md
index c4aaab14472..ad1f77039d4 100644
--- a/docs/new-generator.md
+++ b/docs/new-generator.md
@@ -264,7 +264,7 @@ Method | HTTP request | Description
{{#operation}}
# **{{operationId}}**
-> {{#returnType}}{{returnType}} {{/returnType}}{{operationId}}({{#allParams}}{{{paramName}}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
+> {{#returnType}}{{returnType}} {{/returnType}}{{operationId}}({{#allParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/allParams}})
{{summary}}{{#notes}}
@@ -287,8 +287,8 @@ Name | Type | Description | Notes
### HTTP request headers
- - **Content-Type**: {{#consumes}}{{{mediaType}}}{{#hasMore}}, {{/hasMore}}{{/consumes}}{{^consumes}}Not defined{{/consumes}}
- - **Accept**: {{#produces}}{{{mediaType}}}{{#hasMore}}, {{/hasMore}}{{/produces}}{{^produces}}Not defined{{/produces}}
+ - **Content-Type**: {{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}{{^consumes}}Not defined{{/consumes}}
+ - **Accept**: {{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}{{^produces}}Not defined{{/produces}}
{{/operation}}
{{/operations}}
diff --git a/docs/templating.md b/docs/templating.md
index 4901f927893..fa901bc65aa 100644
--- a/docs/templating.md
+++ b/docs/templating.md
@@ -173,7 +173,7 @@ index 49b17c7..16ee191 100644
@Deprecated
{{/isDeprecated}}
+ @Loggable(Loggable.INFO)
- public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException {
+ public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException {
Object {{localVariablePrefix}}localVarPostBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}new Object(){{/bodyParam}};
{{#allParams}}{{#required}}
@@ -610,9 +610,7 @@ A `Pet` model with three properties will provide a _lot_ of information about th
"jsonSchema" : "{\n \"type\" : \"integer\",\n \"format\" : \"int64\"\n}",
"exclusiveMinimum" : false,
"exclusiveMaximum" : false,
- "hasMore" : true,
"required" : true,
- "secondaryParam" : false,
"hasMoreNonReadOnly" : true,
"isPrimitiveType" : true,
"isModel" : false,
@@ -662,9 +660,7 @@ A `Pet` model with three properties will provide a _lot_ of information about th
"jsonSchema" : "{\n \"type\" : \"string\"\n}",
"exclusiveMinimum" : false,
"exclusiveMaximum" : false,
- "hasMore" : true,
"required" : true,
- "secondaryParam" : false,
"hasMoreNonReadOnly" : true,
"isPrimitiveType" : true,
"isModel" : false,
@@ -714,9 +710,7 @@ A `Pet` model with three properties will provide a _lot_ of information about th
"jsonSchema" : "{\n \"type\" : \"string\"\n}",
"exclusiveMinimum" : false,
"exclusiveMaximum" : false,
- "hasMore" : false,
"required" : false,
- "secondaryParam" : false,
"hasMoreNonReadOnly" : false,
"isPrimitiveType" : true,
"isModel" : false,
@@ -954,10 +948,8 @@ definitions:
colDataTypeArguments:
- argumentValue: 16
isString: false
- hasMore: true
- argumentValue: 4
isString: false
- hasMore: false
colUnsigned: true
colNotNull: true
colDefault:
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenCallback.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenCallback.java
index 0efcfeb1e78..194e0234cc0 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenCallback.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenCallback.java
@@ -21,13 +21,11 @@ import java.util.*;
public class CodegenCallback {
public String name;
- public boolean hasMore;
public List urls = new ArrayList<>();
public Map vendorExtensions = new HashMap<>();
public static class Url {
public String expression;
- public boolean hasMore;
public List requests = new ArrayList<>();
public Map vendorExtensions = new HashMap<>();
@@ -37,12 +35,12 @@ public class CodegenCallback {
if (o == null || getClass() != o.getClass()) return false;
Url that = (Url) o;
- return Objects.equals(that.expression, expression) && Objects.equals(that.hasMore, hasMore) &&
+ return Objects.equals(that.expression, expression) &&
Objects.equals(that.requests, requests) && Objects.equals(that.vendorExtensions, vendorExtensions);
}
@Override
public int hashCode() {
- return Objects.hash(expression, hasMore, requests, vendorExtensions);
+ return Objects.hash(expression, requests, vendorExtensions);
}
@Override
@@ -62,13 +60,13 @@ public class CodegenCallback {
if (o == null || getClass() != o.getClass()) return false;
CodegenCallback that = (CodegenCallback) o;
- return Objects.equals(that.name, name) && Objects.equals(that.hasMore, hasMore) &&
+ return Objects.equals(that.name, name) &&
Objects.equals(that.urls, urls) && Objects.equals(that.vendorExtensions, vendorExtensions);
}
@Override
public int hashCode() {
- return Objects.hash(name, hasMore, urls, vendorExtensions);
+ return Objects.hash(name, urls, vendorExtensions);
}
@Override
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java
index d950d4fdd47..05bd2946bac 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java
@@ -909,7 +909,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
}
/**
- * Remove duplicated properties in all variable list and update "hasMore"
+ * Remove duplicated properties in all variable list
*/
public void removeAllDuplicatedProperty() {
// remove duplicated properties
@@ -920,15 +920,6 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
allVars = removeDuplicatedProperty(allVars);
readOnlyVars = removeDuplicatedProperty(readOnlyVars);
readWriteVars = removeDuplicatedProperty(readWriteVars);
-
- // update property list's "hasMore"
- updatePropertyListHasMore(vars);
- updatePropertyListHasMore(optionalVars);
- updatePropertyListHasMore(requiredVars);
- updatePropertyListHasMore(parentVars);
- updatePropertyListHasMore(allVars);
- updatePropertyListHasMore(readOnlyVars);
- updatePropertyListHasMore(readWriteVars);
}
private List removeDuplicatedProperty(List vars) {
@@ -956,21 +947,6 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
return newList;
}
- /**
- * Clone the element and update "hasMore" in the list of codegen properties
- */
- private void updatePropertyListHasMore(List vars) {
- if (vars != null) {
- for (int i = 0; i < vars.size(); i++) {
- if (i < vars.size() - 1) {
- vars.get(i).hasMore = true;
- } else { // last element
- vars.get(i).hasMore = false;
- }
- }
- }
- }
-
/**
* Remove self reference import
*/
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
index 259644a648c..082c634fed1 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
@@ -26,7 +26,7 @@ public class CodegenOperation {
public final List responseHeaders = new ArrayList();
public boolean hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams, hasRequiredParams,
returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
- isArray, isMultipart, hasMore = true,
+ isArray, isMultipart,
isResponseBinary = false, isResponseFile = false, hasReference = false,
isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy,
isRestful, isDeprecated, isCallbackRequest, uniqueItems;
@@ -258,7 +258,6 @@ public class CodegenOperation {
sb.append(", isMap=").append(isMap);
sb.append(", isArray=").append(isArray);
sb.append(", isMultipart=").append(isMultipart);
- sb.append(", hasMore=").append(hasMore);
sb.append(", isResponseBinary=").append(isResponseBinary);
sb.append(", isResponseFile=").append(isResponseFile);
sb.append(", hasReference=").append(hasReference);
@@ -332,7 +331,6 @@ public class CodegenOperation {
isMap == that.isMap &&
isArray == that.isArray &&
isMultipart == that.isMultipart &&
- hasMore == that.hasMore &&
isResponseBinary == that.isResponseBinary &&
isResponseFile == that.isResponseFile &&
hasReference == that.hasReference &&
@@ -393,7 +391,7 @@ public class CodegenOperation {
return Objects.hash(responseHeaders, hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams,
hasRequiredParams, returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
- isArray, isMultipart, hasMore, isResponseBinary, isResponseFile, hasReference, isRestfulIndex,
+ isArray, isMultipart, isResponseBinary, isResponseFile, hasReference, isRestfulIndex,
isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy, isRestful, isDeprecated,
isCallbackRequest, uniqueItems, path, operationId, returnType, httpMethod, returnBaseType,
returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse, discriminator, consumes,
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java
index b6bd3fbef54..39cca3eeb7a 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java
@@ -26,8 +26,8 @@ import java.util.*;
*/
public class CodegenParameter implements IJsonSchemaValidationProperties {
public boolean isFormParam, isQueryParam, isPathParam, isHeaderParam,
- isCookieParam, isBodyParam, hasMore, isContainer,
- secondaryParam, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode;
+ isCookieParam, isBodyParam, isContainer,
+ isCollectionFormatMulti, isPrimitiveType, isModel, isExplode;
public String baseName, paramName, dataType, datatypeWithEnum, dataFormat, contentType,
collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style;
@@ -105,9 +105,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
public CodegenParameter copy() {
CodegenParameter output = new CodegenParameter();
output.isFile = this.isFile;
- output.hasMore = this.hasMore;
output.isContainer = this.isContainer;
- output.secondaryParam = this.secondaryParam;
output.baseName = this.baseName;
output.paramName = this.paramName;
output.dataType = this.dataType;
@@ -202,7 +200,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
@Override
public int hashCode() {
- return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, hasMore, isContainer, secondaryParam, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, additionalProperties, vars, requiredVars, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf);
+ return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, isContainer, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, additionalProperties, vars, requiredVars, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf);
}
@Override
@@ -216,9 +214,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
isHeaderParam == that.isHeaderParam &&
isCookieParam == that.isCookieParam &&
isBodyParam == that.isBodyParam &&
- hasMore == that.hasMore &&
isContainer == that.isContainer &&
- secondaryParam == that.secondaryParam &&
isCollectionFormatMulti == that.isCollectionFormatMulti &&
isPrimitiveType == that.isPrimitiveType &&
isModel == that.isModel &&
@@ -295,9 +291,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
sb.append(", isHeaderParam=").append(isHeaderParam);
sb.append(", isCookieParam=").append(isCookieParam);
sb.append(", isBodyParam=").append(isBodyParam);
- sb.append(", hasMore=").append(hasMore);
sb.append(", isContainer=").append(isContainer);
- sb.append(", secondaryParam=").append(secondaryParam);
sb.append(", isCollectionFormatMulti=").append(isCollectionFormatMulti);
sb.append(", isPrimitiveType=").append(isPrimitiveType);
sb.append(", isModel=").append(isModel);
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java
index b813cb6dd68..c3cbfe56925 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java
@@ -103,10 +103,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
* The value of "exclusiveMaximum" MUST be number, representing an exclusive upper limit for a numeric instance.
*/
public boolean exclusiveMaximum;
- public boolean hasMore;
public boolean required;
public boolean deprecated;
- public boolean secondaryParam;
public boolean hasMoreNonReadOnly; // for model constructor, true if next property is not readonly
public boolean isPrimitiveType;
public boolean isModel;
@@ -431,14 +429,6 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
this.required = required;
}
- public boolean getSecondaryParam() {
- return secondaryParam;
- }
-
- public void setSecondaryParam(boolean secondaryParam) {
- this.secondaryParam = secondaryParam;
- }
-
public List get_enum() {
return _enum;
}
@@ -716,10 +706,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
sb.append(", maximum='").append(maximum).append('\'');
sb.append(", exclusiveMinimum=").append(exclusiveMinimum);
sb.append(", exclusiveMaximum=").append(exclusiveMaximum);
- sb.append(", hasMore=").append(hasMore);
sb.append(", required=").append(required);
sb.append(", deprecated=").append(deprecated);
- sb.append(", secondaryParam=").append(secondaryParam);
sb.append(", hasMoreNonReadOnly=").append(hasMoreNonReadOnly);
sb.append(", isPrimitiveType=").append(isPrimitiveType);
sb.append(", isModel=").append(isModel);
@@ -787,10 +775,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
CodegenProperty that = (CodegenProperty) o;
return exclusiveMinimum == that.exclusiveMinimum &&
exclusiveMaximum == that.exclusiveMaximum &&
- hasMore == that.hasMore &&
required == that.required &&
deprecated == that.deprecated &&
- secondaryParam == that.secondaryParam &&
hasMoreNonReadOnly == that.hasMoreNonReadOnly &&
isPrimitiveType == that.isPrimitiveType &&
isModel == that.isModel &&
@@ -878,7 +864,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
dataType, datatypeWithEnum, dataFormat, name, min, max, defaultValue,
defaultValueWithParam, baseType, containerType, title, unescapedDescription,
maxLength, minLength, pattern, example, jsonSchema, minimum, maximum,
- exclusiveMinimum, exclusiveMaximum, hasMore, required, deprecated, secondaryParam,
+ exclusiveMinimum, exclusiveMaximum, required, deprecated,
hasMoreNonReadOnly, isPrimitiveType, isModel, isContainer, isString, isNumeric,
isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isFile,
isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject,
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java
index 910d631a291..2907d971f29 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java
@@ -28,7 +28,6 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
public boolean is4xx;
public boolean is5xx;
public String message;
- public boolean hasMore;
public List