Skip to content

Commit d160b82

Browse files
authored
Allow better default value in parameters using codegen property (#15882)
* allow better default value in parameters using codegen property * update
1 parent 33aa5b0 commit d160b82

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

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

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2179,6 +2179,21 @@ public String toDefaultParameterValue(Schema<?> schema) {
21792179
return toDefaultValue(schema);
21802180
}
21812181

2182+
/**
2183+
* Return the default value of the parameter
2184+
* <p>
2185+
* Return null if you do NOT want a default value.
2186+
* Any non-null value will cause {{#defaultValue} check to pass.
2187+
*
2188+
* @param codegenProperty Codegen Property
2189+
* @param schema Parameter schema
2190+
* @return string presentation of the default value of the parameter
2191+
*/
2192+
public String toDefaultParameterValue(CodegenProperty codegenProperty, Schema<?> schema) {
2193+
// by default works as original method to be backward compatible
2194+
return toDefaultParameterValue(schema);
2195+
}
2196+
21822197
/**
21832198
* Return property value depending on property type.
21842199
*
@@ -5120,9 +5135,6 @@ public CodegenParameter fromParameter(Parameter parameter, Set<String> imports)
51205135
codegenParameter.isNullable = true;
51215136
}
51225137

5123-
// set default value
5124-
codegenParameter.defaultValue = toDefaultParameterValue(parameterSchema);
5125-
51265138
if (parameter.getStyle() != null) {
51275139
codegenParameter.style = parameter.getStyle().toString();
51285140
codegenParameter.isDeepObject = Parameter.StyleEnum.DEEPOBJECT == parameter.getStyle();
@@ -5290,6 +5302,9 @@ public CodegenParameter fromParameter(Parameter parameter, Set<String> imports)
52905302
}
52915303
}
52925304

5305+
// set default value
5306+
codegenParameter.defaultValue = toDefaultParameterValue(codegenProperty, parameterSchema);
5307+
52935308
finishUpdatingParameter(codegenParameter, parameter);
52945309
return codegenParameter;
52955310
}
@@ -6901,7 +6916,6 @@ public CodegenParameter fromFormProperty(String name, Schema propertySchema, Set
69016916

69026917
codegenParameter.baseType = codegenProperty.baseType;
69036918
codegenParameter.dataType = codegenProperty.dataType;
6904-
codegenParameter.defaultValue = toDefaultParameterValue(propertySchema);
69056919
codegenParameter.baseName = codegenProperty.baseName;
69066920
codegenParameter.paramName = toParamName(codegenParameter.baseName);
69076921
codegenParameter.dataFormat = codegenProperty.dataFormat;
@@ -6912,6 +6926,9 @@ public CodegenParameter fromFormProperty(String name, Schema propertySchema, Set
69126926
codegenParameter._enum = codegenProperty._enum;
69136927
codegenParameter.allowableValues = codegenProperty.allowableValues;
69146928

6929+
// set default value
6930+
codegenParameter.defaultValue = toDefaultParameterValue(codegenProperty, propertySchema);
6931+
69156932
if (ModelUtils.isFileSchema(ps) && !ModelUtils.isStringSchema(ps)) {
69166933
// swagger v2 only, type file
69176934
codegenParameter.isFile = true;
@@ -7046,7 +7063,10 @@ public CodegenParameter fromFormProperty(String name, Schema propertySchema, Set
70467063
imports.add(codegenProperty.complexType);
70477064
}
70487065
}
7066+
7067+
// set example value
70497068
setParameterExampleValue(codegenParameter);
7069+
70507070
// set nullable
70517071
setParameterNullable(codegenParameter, codegenProperty);
70527072

0 commit comments

Comments
 (0)