I am on version 2.3.4.RELEASE and am seeing the same issue identified here https://github.com/spring-projects/spring-framework/issues/24127 except for abstract classes.
Here is the abstract class with the @RequestBody
annotation:
Here is the extended
class without the annotation:
Postman showing the data being sent in but returning nulls in the object:
If I move the @RequestBody
annotation to the class that extends this works. Likewise if I make the abstract class an interface and do not provide the @RequestBody
annotation it works as well.
Comment From: snicoll
@couryrr sorry it took so long to look at this.
I can reproduce this behavior. Looking at org.springframework.web.method.HandlerMethod.HandlerMethodParameter
, it creates its MethodParameter
from the base class and I don't see what would be looking for the presence of metadata on the parent class. That's a bit at odds with method-level metadata that is indeed found.
@rstoyanchev wondering if that rings a bell?
Comment From: jhoeller
As a follow-up to #30801 in 6.1, our common AnnotatedMethod
exposes annotations from base classes as well in 6.1.3 now.