Skip to content

Commit 3bbaedd

Browse files
authored
Better "Any Type" support (#6091)
* better anytype support * add tests for any type * fix test with any_value * fix tests * fix case additionalProperties: {} * test with CI * remove check in map schema * Revert "remove check in map schema" This reverts commit e016c41. * fix tests, comment out map schema fix * fix tests * fix tests with correct codegen model * fix tests * fix tests for map of any type * fix array of any type * fix array of any type * update samples, remove log * add typemapping to go, python
1 parent cc623ba commit 3bbaedd

File tree

10 files changed

+302
-152
lines changed

10 files changed

+302
-152
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
3434
public String example; // example value (x-example)
3535
public String jsonSchema;
3636
public boolean isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isByteArray, isBinary,
37-
isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject;
37+
isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType;
3838
public boolean isListContainer, isMapContainer;
3939
public boolean isFile;
4040
public boolean isEnum;
@@ -178,6 +178,7 @@ public CodegenParameter copy() {
178178
output.isUri = this.isUri;
179179
output.isEmail = this.isEmail;
180180
output.isFreeFormObject = this.isFreeFormObject;
181+
output.isAnyType = this.isAnyType;
181182
output.isListContainer = this.isListContainer;
182183
output.isMapContainer = this.isMapContainer;
183184
output.isExplode = this.isExplode;
@@ -188,7 +189,7 @@ public CodegenParameter copy() {
188189

189190
@Override
190191
public int hashCode() {
191-
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, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isListContainer, isMapContainer, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), multipleOf);
192+
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, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isListContainer, isMapContainer, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), multipleOf);
192193
}
193194

194195
@Override
@@ -225,6 +226,7 @@ public boolean equals(Object o) {
225226
isUri == that.isUri &&
226227
isEmail == that.isEmail &&
227228
isFreeFormObject == that.isFreeFormObject &&
229+
isAnyType == that.isAnyType &&
228230
isListContainer == that.isListContainer &&
229231
isMapContainer == that.isMapContainer &&
230232
isFile == that.isFile &&
@@ -312,6 +314,7 @@ public String toString() {
312314
sb.append(", isUri=").append(isUri);
313315
sb.append(", isEmail=").append(isEmail);
314316
sb.append(", isFreeFormObject=").append(isFreeFormObject);
317+
sb.append(", isAnyType=").append(isAnyType);
315318
sb.append(", isListContainer=").append(isListContainer);
316319
sb.append(", isMapContainer=").append(isMapContainer);
317320
sb.append(", isFile=").append(isFile);

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
4949
public boolean isEmail;
5050
public boolean isModel;
5151
public boolean isFreeFormObject;
52+
public boolean isAnyType;
5253
public boolean isDefault;
5354
public boolean simpleType;
5455
public boolean primitiveType;
@@ -77,7 +78,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
7778
public int hashCode() {
7879
return Objects.hash(headers, code, message, hasMore, examples, dataType, baseType, containerType, hasHeaders,
7980
isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isByteArray, isBoolean, isDate,
80-
isDateTime, isUuid, isEmail, isModel, isFreeFormObject, isDefault, simpleType, primitiveType,
81+
isDateTime, isUuid, isEmail, isModel, isFreeFormObject, isAnyType, isDefault, simpleType, primitiveType,
8182
isMapContainer, isListContainer, isBinary, isFile, schema, jsonSchema, vendorExtensions,
8283
getMaxProperties(), getMinProperties(), uniqueItems, getMaxItems(), getMinItems(), getMaxLength(),
8384
getMinLength(), exclusiveMinimum, exclusiveMaximum, getMinimum(), getMaximum(), getPattern());
@@ -105,6 +106,7 @@ public boolean equals(Object o) {
105106
isEmail == that.isEmail &&
106107
isModel == that.isModel &&
107108
isFreeFormObject == that.isFreeFormObject &&
109+
isAnyType == that.isAnyType &&
108110
isDefault == that.isDefault &&
109111
simpleType == that.simpleType &&
110112
primitiveType == that.primitiveType &&
@@ -295,6 +297,7 @@ public String toString() {
295297
sb.append(", isEmail=").append(isEmail);
296298
sb.append(", isModel=").append(isModel);
297299
sb.append(", isFreeFormObject=").append(isFreeFormObject);
300+
sb.append(", isAnyType=").append(isAnyType);
298301
sb.append(", isDefault=").append(isDefault);
299302
sb.append(", simpleType=").append(simpleType);
300303
sb.append(", primitiveType=").append(primitiveType);

0 commit comments

Comments
 (0)