Skip to content

Commit 602303b

Browse files
NavruzshoevDanield.navruzshoev
authored andcommitted
[BUG][Kotlin][WebClient] ApiClient is not compatible with spring-web 6 Observation API
1 parent 7a3ea28 commit 602303b

File tree

4 files changed

+12
-0
lines changed
  • modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure
  • samples/client
    • echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure
    • petstore
      • kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure
      • kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure

4 files changed

+12
-0
lines changed

modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-webclient/infrastructure/ApiClient.kt.mustache

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder
1010
import org.springframework.util.LinkedMultiValueMap
1111
import reactor.core.publisher.Mono
1212

13+
private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate";
14+
1315
{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}open class ApiClient(protected val client: WebClient) {
1416
1517
protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): Mono<ResponseEntity<T>> {
@@ -39,6 +41,7 @@ import reactor.core.publisher.Mono
3941

4042
private fun <I> WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
4143
uri { builder ->
44+
attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path)
4245
builder
4346
.path(requestConfig.path)
4447
.queryParams(LinkedMultiValueMap(requestConfig.query))

samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder
1010
import org.springframework.util.LinkedMultiValueMap
1111
import reactor.core.publisher.Mono
1212

13+
private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate";
14+
1315
open class ApiClient(protected val client: WebClient) {
1416

1517
protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): Mono<ResponseEntity<T>> {
@@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) {
3941

4042
private fun <I> WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
4143
uri { builder ->
44+
attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path)
4245
builder
4346
.path(requestConfig.path)
4447
.queryParams(LinkedMultiValueMap(requestConfig.query))

samples/client/petstore/kotlin-jvm-spring-2-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder
1010
import org.springframework.util.LinkedMultiValueMap
1111
import reactor.core.publisher.Mono
1212

13+
private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate";
14+
1315
open class ApiClient(protected val client: WebClient) {
1416

1517
protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): Mono<ResponseEntity<T>> {
@@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) {
3941

4042
private fun <I> WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
4143
uri { builder ->
44+
attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path)
4245
builder
4346
.path(requestConfig.path)
4447
.queryParams(LinkedMultiValueMap(requestConfig.query))

samples/client/petstore/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import org.springframework.http.client.MultipartBodyBuilder
1010
import org.springframework.util.LinkedMultiValueMap
1111
import reactor.core.publisher.Mono
1212

13+
private val URI_TEMPLATE_ATTRIBUTE = WebClient::class.java.name + ".uriTemplate";
14+
1315
open class ApiClient(protected val client: WebClient) {
1416

1517
protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): Mono<ResponseEntity<T>> {
@@ -39,6 +41,7 @@ open class ApiClient(protected val client: WebClient) {
3941

4042
private fun <I> WebClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
4143
uri { builder ->
44+
attribute(URI_TEMPLATE_ATTRIBUTE, requestConfig.path)
4245
builder
4346
.path(requestConfig.path)
4447
.queryParams(LinkedMultiValueMap(requestConfig.query))

0 commit comments

Comments
 (0)