diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache index bba4a48a002b..bf37a51fd43e 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/api.mustache @@ -208,17 +208,44 @@ import {{packageName}}.infrastructure.toMultiValue {{#queryParams}} {{^required}} if ({{{paramName}}} != null) { + {{#isModel}} + {{#vars}} + if ({{{paramName}}}.{{name}} != null) { + put("{{#isDeepObject}}{{{paramName}}}[{{/isDeepObject}}{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}{{#isDeepObject}}]{{/isDeepObject}}", {{#isContainer}}toMultiValue({{{paramName}}}.{{name}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.{{name}}.value{{/isString}}{{^isString}}{{{paramName}}}.{{name}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.{{name}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + } + {{/vars}} + {{/isModel}} + {{^isModel}} put("{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.value{{/isString}}{{^isString}}{{{paramName}}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + {{/isModel}} } {{/required}} {{#required}} {{#isNullable}} if ({{{paramName}}} != null) { + {{#isModel}} + {{#vars}} + if ({{{paramName}}}.{{name}} != null) { + put("{{#isDeepObject}}{{{paramName}}}[{{/isDeepObject}}{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}{{#isDeepObject}}]{{/isDeepObject}}", {{#isContainer}}toMultiValue({{{paramName}}}.{{name}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.{{name}}.value{{/isString}}{{^isString}}{{{paramName}}}.{{name}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.{{name}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + } + {{/vars}} + {{/isModel}} + {{^isModel}} put("{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.value{{/isString}}{{^isString}}{{{paramName}}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + {{/isModel}} } {{/isNullable}} {{^isNullable}} + {{#isModel}} + {{#vars}} + if ({{{paramName}}}.{{name}} != null) { + put("{{#isDeepObject}}{{{paramName}}}[{{/isDeepObject}}{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}{{#isDeepObject}}]{{/isDeepObject}}", {{#isContainer}}toMultiValue({{{paramName}}}.{{name}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}.{{name}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.{{name}}.value{{/isString}}{{^isString}}{{{paramName}}}.{{name}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.{{name}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + } + {{/vars}} + {{/isModel}} + {{^isModel}} put("{{#lambda.escapeDollar}}{{baseName}}{{/lambda.escapeDollar}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{#isEnum}}{{#isString}}{{{paramName}}}.value{{/isString}}{{^isString}}{{{paramName}}}.toString(){{/isString}}{{/isEnum}}{{^isEnum}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}{{/isEnum}}){{/isContainer}}) + {{/isModel}} {{/isNullable}} {{/required}} {{/queryParams}} diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/QueryApi.kt b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/QueryApi.kt index eb54542a355f..1c45b2cba058 100644 --- a/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/QueryApi.kt +++ b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/QueryApi.kt @@ -391,7 +391,24 @@ class QueryApi(basePath: kotlin.String = defaultBasePath, client: Call.Factory = val localVariableQuery: MultiValueMap = mutableMapOf>() .apply { if (queryObject != null) { - put("query_object", listOf(queryObject.toString())) + if (queryObject.id != null) { + put("queryObject[id]", listOf(queryObject.id.toString())) + } + if (queryObject.name != null) { + put("queryObject[name]", listOf(queryObject.name.toString())) + } + if (queryObject.category != null) { + put("queryObject[category]", listOf(queryObject.category.toString())) + } + if (queryObject.photoUrls != null) { + put("queryObject[photoUrls]", toMultiValue(queryObject.photoUrls.toList(), "")) + } + if (queryObject.tags != null) { + put("queryObject[tags]", toMultiValue(queryObject.tags.toList(), "")) + } + if (queryObject.status != null) { + put("queryObject[status]", listOf(queryObject.status.value)) + } } } val localVariableHeaders: MutableMap = mutableMapOf() @@ -469,7 +486,9 @@ class QueryApi(basePath: kotlin.String = defaultBasePath, client: Call.Factory = val localVariableQuery: MultiValueMap = mutableMapOf>() .apply { if (queryObject != null) { - put("query_object", listOf(queryObject.toString())) + if (queryObject.propertyValues != null) { + put("values", toMultiValue(queryObject.propertyValues.toList(), "")) + } } } val localVariableHeaders: MutableMap = mutableMapOf() @@ -547,7 +566,24 @@ class QueryApi(basePath: kotlin.String = defaultBasePath, client: Call.Factory = val localVariableQuery: MultiValueMap = mutableMapOf>() .apply { if (queryObject != null) { - put("query_object", listOf(queryObject.toString())) + if (queryObject.id != null) { + put("id", listOf(queryObject.id.toString())) + } + if (queryObject.name != null) { + put("name", listOf(queryObject.name.toString())) + } + if (queryObject.category != null) { + put("category", listOf(queryObject.category.toString())) + } + if (queryObject.photoUrls != null) { + put("photoUrls", toMultiValue(queryObject.photoUrls.toList(), "")) + } + if (queryObject.tags != null) { + put("tags", toMultiValue(queryObject.tags.toList(), "")) + } + if (queryObject.status != null) { + put("status", listOf(queryObject.status.value)) + } } } val localVariableHeaders: MutableMap = mutableMapOf()