ProxyHandlerMethodArgumentResolver now avoids matching parameters annotated with Spring annotation.
We now explicitly do not match handler method parameters that are annotated with anything but @ModelAttribute or @ProjectedPayload. This prevents us accidentally opting into parameter handling for annotated parameters that use interfaces for their declaration and are supposed to be handled by some other infrastructure.
Fixes GH-2937.
@ -87,7 +89,8 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP
@@ -87,7 +89,8 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP
@ -96,6 +99,15 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP
@@ -96,6 +99,15 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP
returntrue;
}
// Exclude parameters annotated with Spring annotation
@ -72,6 +76,28 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
@@ -72,6 +76,28 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
@ -86,5 +112,9 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {
@@ -86,5 +112,9 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests {