Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -446,10 +446,28 @@ public String toDefaultValue(Schema p) {
Object defaultValues = p.getDefault();
if (defaultValues instanceof ArrayNode) {
for (var value : (ArrayNode) defaultValues) {
joinedDefaultValues.add(value.toString());
if (value.isNull()) {
joinedDefaultValues.add("nil");
} else if (value.isTextual()) {
joinedDefaultValues.add("\"" + escapeText(value.asText()) + "\"");
} else {
joinedDefaultValues.add(value.toString());
}
}
return "{" + joinedDefaultValues + "}";
} else if (defaultValues instanceof List<?>) {
for (var value : (List<?>) defaultValues) {
if (value == null) {
joinedDefaultValues.add("nil");
} else if (value instanceof String) {
joinedDefaultValues.add("\"" + escapeText((String) value) + "\"");
} else {
joinedDefaultValues.add(value.toString());
}
}
return "{" + joinedDefaultValues + "}";
}
return null;
}

return super.toDefaultValue(p);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -454,9 +454,11 @@ public void testArrayDefaultValue() throws IOException {
List<File> files = generator.opts(configurator.toClientOptInput()).generate();
files.forEach(File::deleteOnExit);
Path apiPath = Paths.get(output + "/api_default.go");
String defaultArrayString = "var defaultValue []interface{} = []interface{}{\"test1\", \"test2\", 1}";
String defaultStringArrayString = "var defaultValue []string = []string{\"test1\", \"test2\"}";
String defaultEnumArrayString = "var defaultValue []ExampleEnum = []ExampleEnum{\"example1\"}";
String defaultValueString = "var defaultValue string = \"test3\"";
TestUtils.assertFileContains(apiPath, defaultArrayString);
TestUtils.assertFileContains(apiPath, defaultStringArrayString);
TestUtils.assertFileContains(apiPath, defaultEnumArrayString);
TestUtils.assertFileContains(apiPath, defaultValueString);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,16 @@ paths:
in: query
schema:
type: array
default: ["test1", "test2", 1]
items:
type: string
default: ["test1", "test2"]
- name: "enumarrayparam"
in: query
schema:
type: array
items:
$ref: "#/components/schemas/ExampleEnum"
default: ["example1"]
- name: "stringparam"
in: query
schema:
Expand All @@ -27,3 +36,11 @@ paths:
responses:
200:
description: Ok

components:
schemas:
ExampleEnum:
type: string
enum:
- example1
- example2
Loading