Skip to content

Commit 5a030cc

Browse files
committed
Merge branch 'fix/cpp-qt-enum-query-param-serialization' of https://github.com/ReallyVirtual/openapi-generator into ReallyVirtual-fix/cpp-qt-enum-query-param-serialization
2 parents a529769 + 632b46a commit 5a030cc

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

modules/openapi-generator/src/main/resources/cpp-qt-client/api-body.mustache

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,21 @@ void {{classname}}::{{nickname}}({{#allParams}}{{#required}}const {{{dataType}}}
344344
else
345345
fullPath.append("?");
346346
{{^isPrimitiveType}}
347+
{{#isEnum}}
348+
// For enum parameters, use direct string serialization instead of object iteration
349+
QString enumValue = {{paramName}}{{^required}}.value(){{/required}}.asJson();
350+
if (!enumValue.isEmpty()) {
351+
fullPath.append(QUrl::toPercentEncoding("{{baseName}}")).append("=").append(QUrl::toPercentEncoding(enumValue));
352+
}
353+
{{/isEnum}}
354+
{{#isEnumRef}}
355+
// For enum reference parameters, use direct string serialization instead of object iteration
356+
QString enumValue = {{paramName}}{{^required}}.value(){{/required}}.asJson();
357+
if (!enumValue.isEmpty()) {
358+
fullPath.append(QUrl::toPercentEncoding("{{baseName}}")).append("=").append(QUrl::toPercentEncoding(enumValue));
359+
}
360+
{{/isEnumRef}}
361+
{{^isEnum}}{{^isEnumRef}}
347362
QString paramString = (queryStyle == "form" && {{isExplode}}) ? "" : (queryStyle == "form" && !({{isExplode}})) ? "{{baseName}}"+querySuffix : "";
348363
QJsonObject parameter = {{paramName}}{{^required}}.value(){{/required}}.asJsonObject();
349364
qint32 count = 0;
@@ -390,6 +405,7 @@ void {{classname}}::{{nickname}}({{#allParams}}{{#required}}const {{{dataType}}}
390405
count++;
391406
}
392407
fullPath.append(paramString);
408+
{{/isEnumRef}}{{/isEnum}}
393409
{{/isPrimitiveType}}{{#isPrimitiveType}}
394410
fullPath.append(QUrl::toPercentEncoding("{{baseName}}")).append(querySuffix).append(QUrl::toPercentEncoding(::{{cppNamespace}}::toStringValue({{paramName}}{{^required}}.stringValue(){{/required}})));
395411
{{/isPrimitiveType}}

0 commit comments

Comments
 (0)