@Override public List<DispatcherServletMappingDescription> describe( AbstractUrlHandlerMapping handlerMapping) { return handlerMapping.getHandlerMap().entrySet().stream().map(this::describe) .collect(Collectors.toList()); }
private Map<String, Object> getHandlerMap(AbstractUrlHandlerMapping mapping) { if (AopUtils.isCglibProxy(mapping)) { // If the AbstractUrlHandlerMapping is a cglib proxy we can't call // the final getHandlerMap() method. return Collections.emptyMap(); } return mapping.getHandlerMap(); } }
public ReverseUrlHandlerMapping(AbstractUrlHandlerMapping mapping) { context = mapping.getApplicationContext(); Map<String, ?> handlers = mapping.getHandlerMap(); for (Map.Entry<String,?> entry : handlers.entrySet()) { String url = entry.getKey(); Object handler = entry.getValue(); if (!(handler instanceof String)) { Class<?> handlerClass = handler.getClass(); register(handlerClass, url, urlsForClass); } String handlerName = getHandlerName(handler); register(handlerName, url, urlsForName); } }