[kotlin-client][jvm-spring-restclient] Fix metrics URI templating for RestClient (#21149)

Spring configures uriTemplate attribute and not generated code
This commit is contained in:
paul-kraftlauget 2025-04-26 16:20:16 +02:00 committed by GitHub
parent f9549479c9
commit bbc0b4a79f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 6 deletions

View File

@ -36,9 +36,8 @@ import org.springframework.util.LinkedMultiValueMap
method(HttpMethod.valueOf(requestConfig.method.name)) method(HttpMethod.valueOf(requestConfig.method.name))
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) = private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
uri { builder -> uri(requestConfig.path) { builder ->
builder builder
.path(requestConfig.path)
.queryParams(LinkedMultiValueMap(requestConfig.query)) .queryParams(LinkedMultiValueMap(requestConfig.query))
.build(requestConfig.params) .build(requestConfig.params)
} }
@ -50,6 +49,7 @@ import org.springframework.util.LinkedMultiValueMap
when { when {
requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> { requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> {
val parts = LinkedMultiValueMap<String, Any>() val parts = LinkedMultiValueMap<String, Any>()
@Suppress("UNCHECKED_CAST")
(requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) -> (requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) ->
if (part.body != null) { if (part.body != null) {
parts.add(name, part.body) parts.add(name, part.body)

View File

@ -36,9 +36,8 @@ open class ApiClient(protected val client: RestClient) {
method(HttpMethod.valueOf(requestConfig.method.name)) method(HttpMethod.valueOf(requestConfig.method.name))
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) = private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
uri { builder -> uri(requestConfig.path) { builder ->
builder builder
.path(requestConfig.path)
.queryParams(LinkedMultiValueMap(requestConfig.query)) .queryParams(LinkedMultiValueMap(requestConfig.query))
.build(requestConfig.params) .build(requestConfig.params)
} }
@ -50,6 +49,7 @@ open class ApiClient(protected val client: RestClient) {
when { when {
requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> { requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> {
val parts = LinkedMultiValueMap<String, Any>() val parts = LinkedMultiValueMap<String, Any>()
@Suppress("UNCHECKED_CAST")
(requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) -> (requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) ->
if (part.body != null) { if (part.body != null) {
parts.add(name, part.body) parts.add(name, part.body)

View File

@ -36,9 +36,8 @@ open class ApiClient(protected val client: RestClient) {
method(HttpMethod.valueOf(requestConfig.method.name)) method(HttpMethod.valueOf(requestConfig.method.name))
private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) = private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) =
uri { builder -> uri(requestConfig.path) { builder ->
builder builder
.path(requestConfig.path)
.queryParams(LinkedMultiValueMap(requestConfig.query)) .queryParams(LinkedMultiValueMap(requestConfig.query))
.build(requestConfig.params) .build(requestConfig.params)
} }
@ -50,6 +49,7 @@ open class ApiClient(protected val client: RestClient) {
when { when {
requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> { requestConfig.headers[HttpHeaders.CONTENT_TYPE] == MediaType.MULTIPART_FORM_DATA_VALUE -> {
val parts = LinkedMultiValueMap<String, Any>() val parts = LinkedMultiValueMap<String, Any>()
@Suppress("UNCHECKED_CAST")
(requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) -> (requestConfig.body as Map<String, PartConfig<*>>).forEach { (name, part) ->
if (part.body != null) { if (part.body != null) {
parts.add(name, part.body) parts.add(name, part.body)