1. 程式人生 > >Spring MVC獲取所有註冊的url

Spring MVC獲取所有註冊的url

本文的目的是獲取所有通過requestMapping註冊的url


    @RequestMapping("getAllUrl")                                   
    @ResponseBody
    public Set<String> getAllUrl(HttpServletRequest request) {
        Set<String> result = new HashSet<String>();
        WebApplicationContext wc = (WebApplicationContext) request.getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE);
        RequestMappingHandlerMapping bean = wc.getBean(RequestMappingHandlerMapping.class);
        Map<RequestMappingInfo, HandlerMethod> handlerMethods = bean.getHandlerMethods();
        for
(RequestMappingInfo rmi : handlerMethods.keySet()) { PatternsRequestCondition pc = rmi.getPatternsCondition(); Set<String> pSet = pc.getPatterns(); result.addAll(pSet); } return result; }

通過上面的程式碼就可以獲取所有註冊到容器中的url。