diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java index b805b0fb8e0..86155739489 100644 --- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java @@ -504,7 +504,9 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator implemen } } if (targetHandlerMethods.size() == 1) { - extractHandlerMethodUriTemplates(targetPathMatches.values().iterator().next(), lookupPath, request); + if (targetPathMatches.size() == 1) { + extractHandlerMethodUriTemplates(targetPathMatches.values().iterator().next(), lookupPath, request); + } return targetHandlerMethods.values().iterator().next(); } else if (!targetHandlerMethods.isEmpty()) { @@ -527,7 +529,9 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator implemen } } } - extractHandlerMethodUriTemplates(bestPathMatch, lookupPath, request); + if (bestPathMatch != null) { + extractHandlerMethodUriTemplates(bestPathMatch, lookupPath, request); + } return targetHandlerMethods.get(bestMappingMatch); } else {