From 2e52c3c35e0bd44ec35dceaeaed1737905a00196 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Wed, 12 Nov 2025 09:48:55 +0100 Subject: [PATCH] Update Kotlin Serialization configuration in HttpMessageConverters As of As of spring-projects/spring-framework#35733, Spring Framework has a dedicated method for configuring a Kotlin Serialization converter specifically. This commit uses this method instead of configuring the Kotlin Serialization JSON support as a custom converter. This also removes the `@Order` on the Kotlin converter bean itself, as there is no need to order it in the list of custom converters anymore. Closes gh-47917 --- .../DefaultClientHttpMessageConvertersCustomizer.java | 2 +- .../KotlinSerializationHttpMessageConvertersConfiguration.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java index 99bb1862f29..83c5103d8a8 100644 --- a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java +++ b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/DefaultClientHttpMessageConvertersCustomizer.java @@ -52,7 +52,7 @@ class DefaultClientHttpMessageConvertersCustomizer implements ClientHttpMessageC builder.withStringConverter(converter); } else if (converter instanceof KotlinSerializationJsonHttpMessageConverter) { - builder.addCustomConverter(converter); + builder.withKotlinSerializationJsonConverter(converter); } else if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) { builder.withJsonConverter(converter); diff --git a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/KotlinSerializationHttpMessageConvertersConfiguration.java b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/KotlinSerializationHttpMessageConvertersConfiguration.java index 83cec0a5cef..52e03c997f3 100644 --- a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/KotlinSerializationHttpMessageConvertersConfiguration.java +++ b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/KotlinSerializationHttpMessageConvertersConfiguration.java @@ -24,7 +24,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; import org.springframework.http.converter.json.KotlinSerializationJsonHttpMessageConverter; /** @@ -40,7 +39,6 @@ class KotlinSerializationHttpMessageConvertersConfiguration { @Bean @ConditionalOnMissingBean - @Order(-10) // configured ahead of JSON mappers KotlinSerializationJsonHttpMessageConverter kotlinSerializationJsonHttpMessageConverter(Json json) { return new KotlinSerializationJsonHttpMessageConverter(json); }