[Java][native] Fix: empty deepObject can produce invalid query [fix #18736] (#18737)

* fix empty query parameter string

* update samples
This commit is contained in:
Marcel Huber 2024-05-26 09:54:58 +02:00 committed by GitHub
parent 77365c34fa
commit 728abafdfa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 4 deletions

View File

@ -372,7 +372,10 @@ public class {{classname}} {
}
{{/isArray}}
{{^isArray}}
localVarQueryStringJoiner.add({{paramName}}.toUrlQueryString("{{baseName}}"));
String queryString = {{paramName}}.toUrlQueryString("{{baseName}}");
if (!queryString.isBlank()) {
localVarQueryStringJoiner.add(queryString);
}
{{/isArray}}
}
{{/isDeepObject}}

View File

@ -59,6 +59,6 @@ public class JavaClientDeepObjectTest {
assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/api/DefaultApi.java"),
"options.toUrlQueryString(\"options\")",
"inputOptions.toUrlQueryString(\"inputOptions\"))");
"inputOptions.toUrlQueryString(\"inputOptions\")");
}
}

View File

@ -453,7 +453,10 @@ public class QueryApi {
String localVarQueryParameterBaseName;
localVarQueryParameterBaseName = "query_object";
if (queryObject != null) {
localVarQueryStringJoiner.add(queryObject.toUrlQueryString("query_object"));
String queryString = queryObject.toUrlQueryString("query_object");
if (!queryString.isBlank()) {
localVarQueryStringJoiner.add(queryString);
}
}
if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {
@ -546,7 +549,10 @@ public class QueryApi {
String localVarQueryParameterBaseName;
localVarQueryParameterBaseName = "query_object";
if (queryObject != null) {
localVarQueryStringJoiner.add(queryObject.toUrlQueryString("query_object"));
String queryString = queryObject.toUrlQueryString("query_object");
if (!queryString.isBlank()) {
localVarQueryStringJoiner.add(queryString);
}
}
if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) {