diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfo.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfo.java index 445f55f5a8..a9cf31bb3e 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfo.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfo.java @@ -19,6 +19,7 @@ package org.springframework.web.servlet.mvc.method; import java.util.List; import javax.servlet.http.HttpServletRequest; +import org.springframework.http.HttpMethod; import org.springframework.util.PathMatcher; import org.springframework.util.StringUtils; import org.springframework.web.accept.ContentNegotiationManager; @@ -238,7 +239,15 @@ public final class RequestMappingInfo implements RequestCondition comparator = (info, otherInfo) -> info.compareTo(otherInfo, request); + + List list = asList(noMethods, getMethod, headMethod); + Collections.shuffle(list); + Collections.sort(list, comparator); + + assertEquals(headMethod, list.get(0)); + assertEquals(getMethod, list.get(1)); + assertEquals(noMethods, list.get(2)); + } + @Test public void equals() { RequestMappingInfo info1 = paths("/foo").methods(GET)