From b52f6aa2041384e885e3bb6e71e079a2baa5dc48 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 18 Sep 2023 10:09:54 +0800 Subject: [PATCH] better handling of const value --- .../org/openapitools/codegen/DefaultCodegen.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index a342633b7e9..a863466865d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5365,7 +5365,17 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.constant = toDefaultParameterValue(codegenProperty, enumSchema); } } else if (parameterSchema.getConst() != null) { // JSON Sschema keyword `const` - codegenParameter.constant = String.valueOf(parameterSchema.getConst()); + Schema temp = null; + Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?"); + String constantValue = String.valueOf(parameterSchema.getConst()); + if (pattern.matcher(constantValue).matches()) { // numeric constant value + temp = new NumberSchema(); + temp.setDefault(constantValue); + } else { // constant value is a string + temp = new StringSchema(); + temp.setDefault(constantValue); + } + codegenParameter.constant = toDefaultParameterValue(temp); } finishUpdatingParameter(codegenParameter, parameter);