From 024037e164bd5728869a9a91659e4df165631e1c Mon Sep 17 00:00:00 2001 From: Maurice Zeijen Date: Fri, 21 Nov 2025 15:46:42 +0100 Subject: [PATCH] Corrected ProblemDetail mixin for XmlMapper.Builder The ProblemDetailXmlMapperBuilderCustomizer applied the wrong ProblemDetail mixin for the Jackson XmlMapper. Namely the ProblemDetailJacksonMixin, which is intended for JSON. Now the ProblemDetailJacksonXmlMixin is used instead. The corresponding test also tested for the wrong XML output, which has been adjusted. Signed-off-by: Maurice Zeijen --- .../boot/jackson/autoconfigure/JacksonAutoConfiguration.java | 3 ++- .../jackson/autoconfigure/JacksonAutoConfigurationTests.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java b/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java index 8371031547d4..d0781af87c63 100644 --- a/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java +++ b/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java @@ -66,6 +66,7 @@ import org.springframework.core.Ordered; import org.springframework.http.ProblemDetail; import org.springframework.http.converter.json.ProblemDetailJacksonMixin; +import org.springframework.http.converter.json.ProblemDetailJacksonXmlMixin; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.ReflectionUtils; @@ -282,7 +283,7 @@ static final class ProblemDetailXmlMapperBuilderCustomizer implements XmlMapperB @Override public void customize(XmlMapper.Builder builder) { - builder.addMixIn(ProblemDetail.class, ProblemDetailJacksonMixin.class); + builder.addMixIn(ProblemDetail.class, ProblemDetailJacksonXmlMixin.class); } } diff --git a/module/spring-boot-jackson/src/test/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfigurationTests.java b/module/spring-boot-jackson/src/test/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfigurationTests.java index 37c811cdb5bc..2101a96a4d04 100644 --- a/module/spring-boot-jackson/src/test/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfigurationTests.java +++ b/module/spring-boot-jackson/src/test/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfigurationTests.java @@ -691,7 +691,7 @@ void shouldRegisterProblemDetailsMixinWithXmlMapper() { problemDetail.setProperty("spring", "boot"); String xml = mapper.writeValueAsString(problemDetail); assertThat(xml).isEqualTo( - "404Not Foundboot"); + "404Not Foundboot"); }); }