From d0e533d57337761a5e0a2546788c32ecf18b19ef Mon Sep 17 00:00:00 2001 From: Stefan Koppier Date: Wed, 10 Jan 2024 08:24:29 +0100 Subject: [PATCH] [kotlin-client][jvm-spring-*] Fixed URL encoding (#17493) * [kotlin-client][jvm-spring-*] do URL encoding via the UrlBuilder instead of manual replacement * [kotlin-client][jvm-spring-*] Fixed imports * ensure up-to-date * Fixed syntax problem * Removed unnecessary toString() --- .../infrastructure/RequestConfig.kt.mustache | 1 + .../jvm-spring-restclient/api.mustache | 10 ++++- .../infrastructure/ApiClient.kt.mustache | 14 +++--- .../jvm-spring-webclient/api.mustache | 10 ++++- .../infrastructure/ApiClient.kt.mustache | 14 +++--- .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../org/openapitools/client/apis/PetApi.kt | 45 +++++++++++++++++-- .../org/openapitools/client/apis/StoreApi.kt | 23 +++++++++- .../org/openapitools/client/apis/UserApi.kt | 42 +++++++++++++++-- .../client/infrastructure/ApiClient.kt | 14 +++--- .../client/infrastructure/RequestConfig.kt | 1 + .../org/openapitools/client/apis/PetApi.kt | 45 +++++++++++++++++-- .../org/openapitools/client/apis/StoreApi.kt | 23 +++++++++- .../org/openapitools/client/apis/UserApi.kt | 42 +++++++++++++++-- .../client/infrastructure/ApiClient.kt | 14 +++--- .../client/infrastructure/RequestConfig.kt | 1 + .../org/openapitools/client/apis/PetApi.kt | 45 +++++++++++++++++-- .../org/openapitools/client/apis/StoreApi.kt | 23 +++++++++- .../org/openapitools/client/apis/UserApi.kt | 42 +++++++++++++++-- .../client/infrastructure/ApiClient.kt | 14 +++--- .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + .../client/infrastructure/RequestConfig.kt | 1 + 51 files changed, 381 insertions(+), 74 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/infrastructure/RequestConfig.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/infrastructure/RequestConfig.kt.mustache index 5ed8f409633..7de4c68ae02 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/infrastructure/RequestConfig.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/infrastructure/RequestConfig.kt.mustache @@ -12,6 +12,7 @@ package {{packageName}}.infrastructure val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/api.mustache index 091c16ac217..5e28a2fc7e2 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/api.mustache @@ -14,6 +14,7 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.http.ResponseEntity import org.springframework.http.MediaType + {{#imports}}import {{import}} {{/imports}} import {{packageName}}.infrastructure.* @@ -122,9 +123,16 @@ import {{packageName}}.infrastructure.* {{/consumes}}{{/hasConsumes}}{{/hasFormParams}}{{#hasProduces}}localVariableHeaders["Accept"] = "{{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}" {{/hasProduces}} + val params = mutableMapOf( + {{#pathParams}} + "{{baseName}}" to {{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}{{/isContainer}}, + {{/pathParams}} + ) + return RequestConfig( method = RequestMethod.{{httpMethod}}, - path = "{{path}}"{{#pathParams}}.replace("{"+"{{baseName}}"+"}", encodeURIComponent({{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}.toString(){{/isContainer}})){{/pathParams}}, + path = "{{path}}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = {{#hasAuthMethods}}true{{/hasAuthMethods}}{{^hasAuthMethods}}false{{/hasAuthMethods}}, diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/infrastructure/ApiClient.kt.mustache index 8fb8ff1512f..9d116ed9b17 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/infrastructure/ApiClient.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/infrastructure/ApiClient.kt.mustache @@ -4,9 +4,9 @@ import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.MediaType -import org.springframework.web.util.UriUtils import org.springframework.web.client.RestClient import org.springframework.http.ResponseEntity +import org.springframework.util.LinkedMultiValueMap open class ApiClient(protected val client: RestClient) { @@ -32,19 +32,15 @@ open class ApiClient(protected val client: RestClient) { } } - protected fun encodeURIComponent(uriComponent: kotlin.String) = - UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) - private fun RestClient.method(requestConfig: RequestConfig)= method(HttpMethod.valueOf(requestConfig.method.name)) private fun RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> - builder.path(requestConfig.path).apply { - requestConfig.query.forEach { (name, value) -> - queryParam(name, value) - } - }.build() + builder + .path(requestConfig.path) + .queryParams(LinkedMultiValueMap(requestConfig.query)) + .build(requestConfig.params) } private fun RestClient.RequestBodySpec.headers(requestConfig: RequestConfig) = diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/api.mustache index c364e882bcb..199bee64460 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/api.mustache @@ -14,6 +14,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap {{#imports}}import {{import}} {{/imports}} @@ -126,9 +127,16 @@ import {{packageName}}.infrastructure.* {{/consumes}}{{/hasConsumes}}{{/hasFormParams}}{{#hasProduces}}localVariableHeaders["Accept"] = "{{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}" {{/hasProduces}} + val params = mutableMapOf( + {{#pathParams}} + "{{baseName}}" to {{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}{{/isContainer}}, + {{/pathParams}} + ) + return RequestConfig( method = RequestMethod.{{httpMethod}}, - path = "{{path}}"{{#pathParams}}.replace("{"+"{{baseName}}"+"}", encodeURIComponent({{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}.toString(){{/isContainer}})){{/pathParams}}, + path = "{{path}}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = {{#hasAuthMethods}}true{{/hasAuthMethods}}{{^hasAuthMethods}}false{{/hasAuthMethods}}, diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure/ApiClient.kt.mustache index d9d956d3fa7..3042e1aecea 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure/ApiClient.kt.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure/ApiClient.kt.mustache @@ -4,9 +4,9 @@ import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.MediaType -import org.springframework.web.util.UriUtils import org.springframework.web.reactive.function.client.WebClient import org.springframework.http.ResponseEntity +import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono open class ApiClient(protected val client: WebClient) { @@ -33,19 +33,15 @@ open class ApiClient(protected val client: WebClient) { } } - protected fun encodeURIComponent(uriComponent: kotlin.String) = - UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) - private fun WebClient.method(requestConfig: RequestConfig)= method(HttpMethod.valueOf(requestConfig.method.name)) private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> - builder.path(requestConfig.path).apply { - requestConfig.query.forEach { (name, value) -> - queryParam(name, value) - } - }.build() + builder + .path(requestConfig.path) + .queryParams(LinkedMultiValueMap(requestConfig.query)) + .build(requestConfig.params) } private fun WebClient.RequestBodySpec.headers(requestConfig: RequestConfig) = diff --git a/samples/client/others/kotlin-jvm-okhttp-parameter-tests/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/others/kotlin-jvm-okhttp-parameter-tests/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/others/kotlin-jvm-okhttp-parameter-tests/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/others/kotlin-jvm-okhttp-parameter-tests/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-allOff-discriminator/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-array-simple-string-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-array-simple-string-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-array-simple-string-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-array-simple-string-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-bigdecimal-default-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-bigdecimal-default-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-ktor-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-ktor-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-ktor-jackson/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 9c8942101b4..25416732825 100644 --- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.ModelApiResponse import org.openapitools.client.models.Pet @@ -63,9 +64,13 @@ class PetApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -94,9 +99,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() apiKey?.apply { localVariableHeaders["api_key"] = this.toString() } + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -137,9 +147,13 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByStatus", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -174,9 +188,13 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByTags", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -205,9 +223,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -238,9 +261,13 @@ class PetApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.PUT, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -270,9 +297,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded") + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -303,9 +335,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "multipart/form-data") localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}/uploadImage", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index b19ffd52601..c4431bade12 100644 --- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.Order import org.openapitools.client.infrastructure.* @@ -59,9 +60,14 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -90,9 +96,13 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/store/inventory", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -121,9 +131,14 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -153,9 +168,13 @@ class StoreApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/json" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/store/order", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 8c95187c619..17caea45e59 100644 --- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.User import org.openapitools.client.infrastructure.* @@ -60,9 +61,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -91,9 +96,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithArray", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -122,9 +131,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithList", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -152,9 +165,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -183,9 +201,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -218,9 +241,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/login", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -248,9 +275,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/logout", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -279,9 +310,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index d49ddb28e2e..b8acccd3de1 100644 --- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -4,9 +4,9 @@ import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.MediaType -import org.springframework.web.util.UriUtils import org.springframework.web.reactive.function.client.WebClient import org.springframework.http.ResponseEntity +import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono open class ApiClient(protected val client: WebClient) { @@ -33,19 +33,15 @@ open class ApiClient(protected val client: WebClient) { } } - protected fun encodeURIComponent(uriComponent: kotlin.String) = - UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) - private fun WebClient.method(requestConfig: RequestConfig)= method(HttpMethod.valueOf(requestConfig.method.name)) private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> - builder.path(requestConfig.path).apply { - requestConfig.query.forEach { (name, value) -> - queryParam(name, value) - } - }.build() + builder + .path(requestConfig.path) + .queryParams(LinkedMultiValueMap(requestConfig.query)) + .build(requestConfig.params) } private fun WebClient.RequestBodySpec.headers(requestConfig: RequestConfig) = diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 9f2917bde48..6764aa89175 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.http.ResponseEntity import org.springframework.http.MediaType + import org.openapitools.client.models.ModelApiResponse import org.openapitools.client.models.Pet import org.openapitools.client.infrastructure.* @@ -59,9 +60,13 @@ class PetApi(client: RestClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -90,9 +95,14 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() apiKey?.apply { localVariableHeaders["api_key"] = this.toString() } + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -133,9 +143,13 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByStatus", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -170,9 +184,13 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByTags", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -201,9 +219,14 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -234,9 +257,13 @@ class PetApi(client: RestClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.PUT, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -266,9 +293,14 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded") + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -299,9 +331,14 @@ class PetApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "multipart/form-data") localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}/uploadImage", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index 94f67cd29bb..db6575d3f11 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.http.ResponseEntity import org.springframework.http.MediaType + import org.openapitools.client.models.Order import org.openapitools.client.infrastructure.* @@ -55,9 +56,14 @@ class StoreApi(client: RestClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -86,9 +92,13 @@ class StoreApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/store/inventory", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -117,9 +127,14 @@ class StoreApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -149,9 +164,13 @@ class StoreApi(client: RestClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/json" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/store/order", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 7ba2ca8c9e5..ee57ffe0861 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.http.ResponseEntity import org.springframework.http.MediaType + import org.openapitools.client.models.User import org.openapitools.client.infrastructure.* @@ -56,9 +57,13 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -87,9 +92,13 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithArray", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -118,9 +127,13 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithList", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -148,9 +161,14 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -179,9 +197,14 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -214,9 +237,13 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/login", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -244,9 +271,13 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/logout", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -275,9 +306,14 @@ class UserApi(client: RestClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index 51938e1f6ae..64f843ed93b 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -4,9 +4,9 @@ import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.MediaType -import org.springframework.web.util.UriUtils import org.springframework.web.client.RestClient import org.springframework.http.ResponseEntity +import org.springframework.util.LinkedMultiValueMap open class ApiClient(protected val client: RestClient) { @@ -32,19 +32,15 @@ open class ApiClient(protected val client: RestClient) { } } - protected fun encodeURIComponent(uriComponent: kotlin.String) = - UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) - private fun RestClient.method(requestConfig: RequestConfig)= method(HttpMethod.valueOf(requestConfig.method.name)) private fun RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> - builder.path(requestConfig.path).apply { - requestConfig.query.forEach { (name, value) -> - queryParam(name, value) - } - }.build() + builder + .path(requestConfig.path) + .queryParams(LinkedMultiValueMap(requestConfig.query)) + .build(requestConfig.params) } private fun RestClient.RequestBodySpec.headers(requestConfig: RequestConfig) = diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt index 9c8942101b4..25416732825 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/PetApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.ModelApiResponse import org.openapitools.client.models.Pet @@ -63,9 +64,13 @@ class PetApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -94,9 +99,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() apiKey?.apply { localVariableHeaders["api_key"] = this.toString() } + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -137,9 +147,13 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByStatus", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -174,9 +188,13 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/pet/findByTags", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -205,9 +223,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -238,9 +261,13 @@ class PetApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/xml" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.PUT, path = "/pet", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -270,9 +297,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded") + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -303,9 +335,14 @@ class PetApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "multipart/form-data") localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + "petId" to petId, + ) + return RequestConfig( method = RequestMethod.POST, - path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), + path = "/pet/{petId}/uploadImage", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt index b19ffd52601..c4431bade12 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/StoreApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.Order import org.openapitools.client.infrastructure.* @@ -59,9 +60,14 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -90,9 +96,13 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/store/inventory", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -121,9 +131,14 @@ class StoreApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "orderId" to orderId, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), + path = "/store/order/{orderId}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -153,9 +168,13 @@ class StoreApi(client: WebClient) : ApiClient(client) { localVariableHeaders["Content-Type"] = "application/json" localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/store/order", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt index 8c95187c619..17caea45e59 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/UserApi.kt @@ -24,6 +24,7 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder import org.springframework.http.ResponseEntity import org.springframework.http.MediaType import reactor.core.publisher.Mono +import org.springframework.util.LinkedMultiValueMap import org.openapitools.client.models.User import org.openapitools.client.infrastructure.* @@ -60,9 +61,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -91,9 +96,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithArray", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -122,9 +131,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.POST, path = "/user/createWithList", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -152,9 +165,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.DELETE, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -183,9 +201,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.GET, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -218,9 +241,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Accept"] = "application/xml, application/json" + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/login", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = false, @@ -248,9 +275,13 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableQuery = mutableMapOf>() val localVariableHeaders: MutableMap = mutableMapOf() + val params = mutableMapOf( + ) + return RequestConfig( method = RequestMethod.GET, path = "/user/logout", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, @@ -279,9 +310,14 @@ class UserApi(client: WebClient) : ApiClient(client) { val localVariableHeaders: MutableMap = mutableMapOf() localVariableHeaders["Content-Type"] = "application/json" + val params = mutableMapOf( + "username" to username, + ) + return RequestConfig( method = RequestMethod.PUT, - path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), + path = "/user/{username}", + params = params, query = localVariableQuery, headers = localVariableHeaders, requiresAuthentication = true, diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index d49ddb28e2e..b8acccd3de1 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -4,9 +4,9 @@ import org.springframework.core.ParameterizedTypeReference import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.MediaType -import org.springframework.web.util.UriUtils import org.springframework.web.reactive.function.client.WebClient import org.springframework.http.ResponseEntity +import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono open class ApiClient(protected val client: WebClient) { @@ -33,19 +33,15 @@ open class ApiClient(protected val client: WebClient) { } } - protected fun encodeURIComponent(uriComponent: kotlin.String) = - UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) - private fun WebClient.method(requestConfig: RequestConfig)= method(HttpMethod.valueOf(requestConfig.method.name)) private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> - builder.path(requestConfig.path).apply { - requestConfig.query.forEach { (name, value) -> - queryParam(name, value) - } - }.build() + builder + .path(requestConfig.path) + .queryParams(LinkedMultiValueMap(requestConfig.query)) + .build(requestConfig.params) } private fun WebClient.RequestBodySpec.headers(requestConfig: RequestConfig) = diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-kotlinx-datetime/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-kotlinx-datetime/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-kotlinx-datetime/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-kotlinx-datetime/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-modelMutable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-name-parameter-mappings/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-name-parameter-mappings/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-name-parameter-mappings/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-name-parameter-mappings/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index fade6b309ab..582d4f96174 100644 --- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ internal data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt index c3518a2d173..6578b9381b7 100644 --- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt +++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt @@ -12,6 +12,7 @@ data class RequestConfig( val method: RequestMethod, val path: String, val headers: MutableMap = mutableMapOf(), + val params: MutableMap = mutableMapOf(), val query: MutableMap> = mutableMapOf(), val requiresAuthentication: Boolean, val body: T? = null