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 7417df0106e..10db61bdb74 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 @@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono +private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate"; + {{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}open class ApiClient(protected val client: WebClient) { protected inline fun request(requestConfig: RequestConfig): Mono> { @@ -39,6 +41,7 @@ import reactor.core.publisher.Mono private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> + attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path) builder .path(requestConfig.path) .queryParams(LinkedMultiValueMap(requestConfig.query)) diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt index dd9cf519efc..224822246c0 100644 --- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt +++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt @@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono +private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate"; + open class ApiClient(protected val client: WebClient) { protected inline fun request(requestConfig: RequestConfig): Mono> { @@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) { private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> + attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path) builder .path(requestConfig.path) .queryParams(LinkedMultiValueMap(requestConfig.query)) 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 dd9cf519efc..224822246c0 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 @@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono +private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate"; + open class ApiClient(protected val client: WebClient) { protected inline fun request(requestConfig: RequestConfig): Mono> { @@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) { private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> + attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path) builder .path(requestConfig.path) .queryParams(LinkedMultiValueMap(requestConfig.query)) 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 dd9cf519efc..224822246c0 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 @@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder import org.springframework.util.LinkedMultiValueMap import reactor.core.publisher.Mono +private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate"; + open class ApiClient(protected val client: WebClient) { protected inline fun request(requestConfig: RequestConfig): Mono> { @@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) { private fun WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig) = uri { builder -> + attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path) builder .path(requestConfig.path) .queryParams(LinkedMultiValueMap(requestConfig.query))