Skip to content

Commit c58da71

Browse files
committed
Synthesize parameter annotations from interface methods as well
Issue: SPR-17460
1 parent 818c2aa commit c58da71

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

spring-web/src/main/java/org/springframework/web/method/HandlerMethod.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ public Annotation[] getParameterAnnotations() {
494494
}
495495
}
496496
if (!existingType) {
497-
merged.add(paramAnn);
497+
merged.add(adaptAnnotation(paramAnn));
498498
}
499499
}
500500
anns = merged.toArray(new Annotation[0]);

spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapterIntegrationTests.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -411,9 +411,9 @@ private HandlerMethod handlerMethod(String methodName, Class<?>... paramTypes) t
411411
private interface HandlerIfc {
412412

413413
String handleInInterface(
414-
@CookieValue("cookie") int cookie,
415-
@PathVariable("pathvar") String pathvar,
416-
@RequestHeader("header") String header,
414+
@CookieValue("cookie") int cookieV,
415+
@PathVariable("pathvar") String pathvarV,
416+
@RequestHeader("header") String headerV,
417417
@RequestHeader(defaultValue = "#{systemProperties.systemHeader}") String systemHeader,
418418
@RequestHeader Map<String, Object> headerMap,
419419
@RequestParam("dateParam") Date dateParam,
@@ -459,9 +459,9 @@ public void model(Model model) {
459459
}
460460

461461
public String handle(
462-
@CookieValue("cookie") int cookie,
463-
@PathVariable("pathvar") String pathvar,
464-
@RequestHeader("header") String header,
462+
@CookieValue("cookie") int cookieV,
463+
@PathVariable("pathvar") String pathvarV,
464+
@RequestHeader("header") String headerV,
465465
@RequestHeader(defaultValue = "#{systemProperties.systemHeader}") String systemHeader,
466466
@RequestHeader Map<String, Object> headerMap,
467467
@RequestParam("dateParam") Date dateParam,
@@ -481,7 +481,7 @@ public String handle(
481481
Model model,
482482
UriComponentsBuilder builder) {
483483

484-
model.addAttribute("cookie", cookie).addAttribute("pathvar", pathvar).addAttribute("header", header)
484+
model.addAttribute("cookie", cookieV).addAttribute("pathvar", pathvarV).addAttribute("header", headerV)
485485
.addAttribute("systemHeader", systemHeader).addAttribute("headerMap", headerMap)
486486
.addAttribute("dateParam", dateParam).addAttribute("paramMap", paramMap)
487487
.addAttribute("paramByConvention", paramByConvention).addAttribute("value", value)
@@ -498,9 +498,9 @@ public String handle(
498498

499499
@Override
500500
public String handleInInterface(
501-
int cookie,
502-
String pathvar,
503-
String header,
501+
int cookieV,
502+
String pathvarV,
503+
String headerV,
504504
String systemHeader,
505505
Map<String, Object> headerMap,
506506
Date dateParam,
@@ -520,7 +520,7 @@ public String handleInInterface(
520520
Model model,
521521
UriComponentsBuilder builder) {
522522

523-
model.addAttribute("cookie", cookie).addAttribute("pathvar", pathvar).addAttribute("header", header)
523+
model.addAttribute("cookie", cookieV).addAttribute("pathvar", pathvarV).addAttribute("header", headerV)
524524
.addAttribute("systemHeader", systemHeader).addAttribute("headerMap", headerMap)
525525
.addAttribute("dateParam", dateParam).addAttribute("paramMap", paramMap)
526526
.addAttribute("paramByConvention", paramByConvention).addAttribute("value", value)

0 commit comments

Comments
 (0)