|
|
@ -444,9 +444,15 @@ public class MvcUriComponentsBuilder { |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public static MethodArgumentBuilder fromMappingName(@Nullable UriComponentsBuilder builder, String name) { |
|
|
|
public static MethodArgumentBuilder fromMappingName(@Nullable UriComponentsBuilder builder, String name) { |
|
|
|
WebApplicationContext wac = getWebApplicationContext(); |
|
|
|
WebApplicationContext wac = getWebApplicationContext(); |
|
|
|
Assert.notNull(wac, "Cannot lookup handler method mappings without WebApplicationContext"); |
|
|
|
Assert.notNull(wac, "No WebApplicationContext. "); |
|
|
|
RequestMappingInfoHandlerMapping mapping = wac.getBean(RequestMappingInfoHandlerMapping.class); |
|
|
|
Map<String, RequestMappingInfoHandlerMapping> map = wac.getBeansOfType(RequestMappingInfoHandlerMapping.class); |
|
|
|
List<HandlerMethod> handlerMethods = mapping.getHandlerMethodsForMappingName(name); |
|
|
|
List<HandlerMethod> handlerMethods = null; |
|
|
|
|
|
|
|
for (RequestMappingInfoHandlerMapping mapping : map.values()) { |
|
|
|
|
|
|
|
handlerMethods = mapping.getHandlerMethodsForMappingName(name); |
|
|
|
|
|
|
|
if (handlerMethods != null) { |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (handlerMethods == null) { |
|
|
|
if (handlerMethods == null) { |
|
|
|
throw new IllegalArgumentException("Mapping not found: " + name); |
|
|
|
throw new IllegalArgumentException("Mapping not found: " + name); |
|
|
|
} |
|
|
|
} |
|
|
|