diff --git a/src/main/java/org/springframework/hateoas/core/AnnotationMappingDiscoverer.java b/src/main/java/org/springframework/hateoas/core/AnnotationMappingDiscoverer.java index 4ccf8b6b..2cc062d1 100644 --- a/src/main/java/org/springframework/hateoas/core/AnnotationMappingDiscoverer.java +++ b/src/main/java/org/springframework/hateoas/core/AnnotationMappingDiscoverer.java @@ -15,7 +15,7 @@ */ package org.springframework.hateoas.core; -import static org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation; +import static org.springframework.core.annotation.AnnotatedElementUtils.*; import static org.springframework.core.annotation.AnnotationUtils.*; import java.lang.annotation.Annotation; diff --git a/src/test/java/org/springframework/hateoas/core/AnnotationMappingDiscovererUnitTest.java b/src/test/java/org/springframework/hateoas/core/AnnotationMappingDiscovererUnitTest.java index 913db350..ef3b4774 100644 --- a/src/test/java/org/springframework/hateoas/core/AnnotationMappingDiscovererUnitTest.java +++ b/src/test/java/org/springframework/hateoas/core/AnnotationMappingDiscovererUnitTest.java @@ -141,12 +141,25 @@ public class AnnotationMappingDiscovererUnitTest { assertThat(discoverer.getMapping(method), is("/type/method")); } + /** + * @see #471 + */ + @Test + public void discoversMethodLevelMappingUsingComposedAnnotation() throws Exception { + + Method method = MyController.class.getMethod("methodWithComposedAnnotation"); + assertThat(discoverer.getMapping(method), is("/type/otherMethod")); + } + @RequestMapping("/type") interface MyController { - @GetMapping("/method") + @RequestMapping("/method") void method(); + @GetMapping("/otherMethod") + void methodWithComposedAnnotation(); + @RequestMapping void noMethodMapping(); }