Skip to content

Commit 84692d8

Browse files
authored
Revert "[kotlin] fix query parameter encoding (#22512)" (#22727)
This reverts commit a3d03ba.
1 parent f78c465 commit 84692d8

File tree

3 files changed

+18
-24
lines changed
  • modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-spring-restclient/infrastructure
  • samples/client
    • echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure
    • petstore/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/infrastructure

3 files changed

+18
-24
lines changed

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import org.springframework.core.ParameterizedTypeReference
44
import org.springframework.http.HttpHeaders
55
import org.springframework.http.HttpMethod
66
import org.springframework.http.MediaType
7-
import org.springframework.http.ResponseEntity
87
import org.springframework.web.client.RestClient
9-
import org.springframework.web.util.UriComponentsBuilder
8+
import org.springframework.http.ResponseEntity
109
import org.springframework.util.LinkedMultiValueMap
1110

1211
{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}open class ApiClient(protected val client: RestClient) {
@@ -36,13 +35,12 @@ import org.springframework.util.LinkedMultiValueMap
3635
private fun <I> RestClient.method(requestConfig: RequestConfig<I>)=
3736
method(HttpMethod.valueOf(requestConfig.method.name))
3837

39-
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>): RestClient.RequestBodySpec {
40-
val uriComponentsBuilder = UriComponentsBuilder.fromPath(requestConfig.path)
41-
requestConfig.query.forEach { key, values ->
42-
uriComponentsBuilder.queryParam(key, "{$key}")
38+
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
39+
uri(requestConfig.path) { builder ->
40+
builder
41+
.queryParams(LinkedMultiValueMap(requestConfig.query))
42+
.build(requestConfig.params)
4343
}
44-
return uri(uriComponentsBuilder.encode().buildAndExpand(requestConfig.query + requestConfig.params).toUri())
45-
}
4644

4745
private fun <I> RestClient.RequestBodySpec.headers(requestConfig: RequestConfig<I>) =
4846
apply { requestConfig.headers.forEach { (name, value) -> header(name, value) } }

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import org.springframework.core.ParameterizedTypeReference
44
import org.springframework.http.HttpHeaders
55
import org.springframework.http.HttpMethod
66
import org.springframework.http.MediaType
7-
import org.springframework.http.ResponseEntity
87
import org.springframework.web.client.RestClient
9-
import org.springframework.web.util.UriComponentsBuilder
8+
import org.springframework.http.ResponseEntity
109
import org.springframework.util.LinkedMultiValueMap
1110

1211
open class ApiClient(protected val client: RestClient) {
@@ -36,13 +35,12 @@ open class ApiClient(protected val client: RestClient) {
3635
private fun <I> RestClient.method(requestConfig: RequestConfig<I>)=
3736
method(HttpMethod.valueOf(requestConfig.method.name))
3837

39-
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>): RestClient.RequestBodySpec {
40-
val uriComponentsBuilder = UriComponentsBuilder.fromPath(requestConfig.path)
41-
requestConfig.query.forEach { key, values ->
42-
uriComponentsBuilder.queryParam(key, "{$key}")
38+
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
39+
uri(requestConfig.path) { builder ->
40+
builder
41+
.queryParams(LinkedMultiValueMap(requestConfig.query))
42+
.build(requestConfig.params)
4343
}
44-
return uri(uriComponentsBuilder.encode().buildAndExpand(requestConfig.query + requestConfig.params).toUri())
45-
}
4644

4745
private fun <I> RestClient.RequestBodySpec.headers(requestConfig: RequestConfig<I>) =
4846
apply { requestConfig.headers.forEach { (name, value) -> header(name, value) } }

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import org.springframework.core.ParameterizedTypeReference
44
import org.springframework.http.HttpHeaders
55
import org.springframework.http.HttpMethod
66
import org.springframework.http.MediaType
7-
import org.springframework.http.ResponseEntity
87
import org.springframework.web.client.RestClient
9-
import org.springframework.web.util.UriComponentsBuilder
8+
import org.springframework.http.ResponseEntity
109
import org.springframework.util.LinkedMultiValueMap
1110

1211
open class ApiClient(protected val client: RestClient) {
@@ -36,13 +35,12 @@ open class ApiClient(protected val client: RestClient) {
3635
private fun <I> RestClient.method(requestConfig: RequestConfig<I>)=
3736
method(HttpMethod.valueOf(requestConfig.method.name))
3837

39-
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>): RestClient.RequestBodySpec {
40-
val uriComponentsBuilder = UriComponentsBuilder.fromPath(requestConfig.path)
41-
requestConfig.query.forEach { key, values ->
42-
uriComponentsBuilder.queryParam(key, "{$key}")
38+
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
39+
uri(requestConfig.path) { builder ->
40+
builder
41+
.queryParams(LinkedMultiValueMap(requestConfig.query))
42+
.build(requestConfig.params)
4343
}
44-
return uri(uriComponentsBuilder.encode().buildAndExpand(requestConfig.query + requestConfig.params).toUri())
45-
}
4644

4745
private fun <I> RestClient.RequestBodySpec.headers(requestConfig: RequestConfig<I>) =
4846
apply { requestConfig.headers.forEach { (name, value) -> header(name, value) } }

0 commit comments

Comments
 (0)