mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Order kotlinxJsonCodecCustomizer so user-provided customizer can go after it
Closes gh-50428 Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>
This commit is contained in:
committed by
Brian Clozel
parent
15bb54a41f
commit
f83576eb29
+1
@@ -103,6 +103,7 @@ public final class CodecsAutoConfiguration {
|
||||
static class KotlinxSerializationJsonCodecConfiguration {
|
||||
|
||||
@Bean
|
||||
@Order(0)
|
||||
@ConditionalOnBean(Json.class)
|
||||
CodecCustomizer kotlinxJsonCodecCustomizer(Json json, ResourceLoader resourceLoader) {
|
||||
ClassLoader classLoader = resourceLoader.getClassLoader();
|
||||
|
||||
+10
@@ -160,6 +160,16 @@ class CodecsAutoConfigurationTests {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void userProvidedCustomizerCanOverrideKotlinxJsonCodecCustomizer() {
|
||||
this.contextRunner.withUserConfiguration(KotlinxJsonConfiguration.class, CodecCustomizerConfiguration.class)
|
||||
.run((context) -> {
|
||||
List<CodecCustomizer> codecCustomizers = context.getBean(CodecCustomizers.class).codecCustomizers;
|
||||
assertThat(codecCustomizers).hasSize(3);
|
||||
assertThat(codecCustomizers.get(2)).isInstanceOf(TestCodecCustomizer.class);
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private <T> T findEncoder(AssertableApplicationContext context, Class<T> encoderClass) {
|
||||
ServerCodecConfigurer configurer = ServerCodecConfigurer.create();
|
||||
|
||||
Reference in New Issue
Block a user