forked from loafle/openapi-generator-original
Better handling of x-nullable in codegen property (#14800)
* add failed tests * add logic to handle x-nullable in property * update samples * update test
This commit is contained in:
@@ -125,6 +125,10 @@ public class DefaultValue {
|
||||
@SerializedName(SERIALIZED_NAME_ARRAY_STRING_NULLABLE)
|
||||
private List<String> arrayStringNullable;
|
||||
|
||||
public static final String SERIALIZED_NAME_ARRAY_STRING_EXTENSION_NULLABLE = "array_string_extension_nullable";
|
||||
@SerializedName(SERIALIZED_NAME_ARRAY_STRING_EXTENSION_NULLABLE)
|
||||
private List<String> arrayStringExtensionNullable;
|
||||
|
||||
public static final String SERIALIZED_NAME_STRING_NULLABLE = "string_nullable";
|
||||
@SerializedName(SERIALIZED_NAME_STRING_NULLABLE)
|
||||
private String stringNullable;
|
||||
@@ -309,6 +313,33 @@ public class DefaultValue {
|
||||
}
|
||||
|
||||
|
||||
public DefaultValue arrayStringExtensionNullable(List<String> arrayStringExtensionNullable) {
|
||||
|
||||
this.arrayStringExtensionNullable = arrayStringExtensionNullable;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DefaultValue addArrayStringExtensionNullableItem(String arrayStringExtensionNullableItem) {
|
||||
this.arrayStringExtensionNullable.add(arrayStringExtensionNullableItem);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get arrayStringExtensionNullable
|
||||
* @return arrayStringExtensionNullable
|
||||
**/
|
||||
@javax.annotation.Nullable
|
||||
|
||||
public List<String> getArrayStringExtensionNullable() {
|
||||
return arrayStringExtensionNullable;
|
||||
}
|
||||
|
||||
|
||||
public void setArrayStringExtensionNullable(List<String> arrayStringExtensionNullable) {
|
||||
this.arrayStringExtensionNullable = arrayStringExtensionNullable;
|
||||
}
|
||||
|
||||
|
||||
public DefaultValue stringNullable(String stringNullable) {
|
||||
|
||||
this.stringNullable = stringNullable;
|
||||
@@ -347,6 +378,7 @@ public class DefaultValue {
|
||||
Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) &&
|
||||
Objects.equals(this.arrayString, defaultValue.arrayString) &&
|
||||
Objects.equals(this.arrayStringNullable, defaultValue.arrayStringNullable) &&
|
||||
Objects.equals(this.arrayStringExtensionNullable, defaultValue.arrayStringExtensionNullable) &&
|
||||
Objects.equals(this.stringNullable, defaultValue.stringNullable);
|
||||
}
|
||||
|
||||
@@ -356,7 +388,7 @@ public class DefaultValue {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, stringNullable);
|
||||
return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, arrayStringExtensionNullable, stringNullable);
|
||||
}
|
||||
|
||||
private static <T> int hashCodeNullable(JsonNullable<T> a) {
|
||||
@@ -376,6 +408,7 @@ public class DefaultValue {
|
||||
sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n");
|
||||
sb.append(" arrayString: ").append(toIndentedString(arrayString)).append("\n");
|
||||
sb.append(" arrayStringNullable: ").append(toIndentedString(arrayStringNullable)).append("\n");
|
||||
sb.append(" arrayStringExtensionNullable: ").append(toIndentedString(arrayStringExtensionNullable)).append("\n");
|
||||
sb.append(" stringNullable: ").append(toIndentedString(stringNullable)).append("\n");
|
||||
sb.append("}");
|
||||
return sb.toString();
|
||||
@@ -405,6 +438,7 @@ public class DefaultValue {
|
||||
openapiFields.add("array_integer_default");
|
||||
openapiFields.add("array_string");
|
||||
openapiFields.add("array_string_nullable");
|
||||
openapiFields.add("array_string_extension_nullable");
|
||||
openapiFields.add("string_nullable");
|
||||
|
||||
// a set of required properties/fields (JSON key names)
|
||||
@@ -455,6 +489,10 @@ public class DefaultValue {
|
||||
if (jsonObj.get("array_string_nullable") != null && !jsonObj.get("array_string_nullable").isJsonArray()) {
|
||||
throw new IllegalArgumentException(String.format("Expected the field `array_string_nullable` to be an array in the JSON string but got `%s`", jsonObj.get("array_string_nullable").toString()));
|
||||
}
|
||||
// ensure the optional json data is an array if present
|
||||
if (jsonObj.get("array_string_extension_nullable") != null && !jsonObj.get("array_string_extension_nullable").isJsonArray()) {
|
||||
throw new IllegalArgumentException(String.format("Expected the field `array_string_extension_nullable` to be an array in the JSON string but got `%s`", jsonObj.get("array_string_extension_nullable").toString()));
|
||||
}
|
||||
if ((jsonObj.get("string_nullable") != null && !jsonObj.get("string_nullable").isJsonNull()) && !jsonObj.get("string_nullable").isJsonPrimitive()) {
|
||||
throw new IllegalArgumentException(String.format("Expected the field `string_nullable` to be a primitive type in the JSON string but got `%s`", jsonObj.get("string_nullable").toString()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user