From 930a4b786f97ae9b8a352c32919b245656bfcc79 Mon Sep 17 00:00:00 2001 From: Marcus Voltolim Date: Thu, 22 Jan 2026 18:48:04 -0300 Subject: [PATCH] fix(GH-3447) Add mixin annotation support for SimplePageImpl in Spring Data Jackson configuration --- .../data/web/config/SpringDataJackson3Configuration.java | 3 +++ .../data/web/config/SpringDataJacksonConfiguration.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java b/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java index 618abd888..3eb4ef8ec 100644 --- a/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java +++ b/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java @@ -43,6 +43,7 @@ import org.springframework.util.ClassUtils; * * @author Oliver Gierke * @author Mark Paluch + * @author Marcus Voltolim * @since 4.0 */ public class SpringDataJackson3Configuration implements SpringDataJackson3Modules { @@ -95,6 +96,8 @@ public class SpringDataJackson3Configuration implements SpringDataJackson3Module } else { setMixInAnnotation(PageImpl.class, WrappingMixing.class); + org.springframework.data.util.ClassUtils.ifPresent("org.springframework.cloud.openfeign.support.PageJacksonModule$SimplePageImpl", null, + targetType -> setMixInAnnotation(targetType, WrappingMixing.class)); } } diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java b/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java index 1f8ea782b..54f4b80cf 100644 --- a/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java +++ b/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java @@ -46,6 +46,7 @@ import com.fasterxml.jackson.databind.util.StdConverter; * * @author Oliver Gierke * @author Mark Paluch + * @author Marcus Voltolim * @deprecated since 4.0, in favor of {@link SpringDataJackson3Configuration} which uses Jackson 3. */ @SuppressWarnings("removal") @@ -99,7 +100,9 @@ public class SpringDataJacksonConfiguration implements SpringDataJacksonModules } else { setMixInAnnotation(PageImpl.class, WrappingMixing.class); - } + org.springframework.data.util.ClassUtils.ifPresent("org.springframework.cloud.openfeign.support.PageJacksonModule$SimplePageImpl", null, + targetType -> setMixInAnnotation(targetType, WrappingMixing.class)); + } } /**