Como mostrar todos os controladores e mapeamentos em uma exibição

Eu não tenho um projeto Spring MVC padrão. Respondendo com XMLs. É possível criar uma visão (página jsp) mostrando todos os controladores, mapeamentos e parâmetros que são aceitos (requerido e não).

Com base na resposta, tenho:

@RequestMapping(value= "/endpoints", params="secure", method = RequestMethod.GET) public @ResponseBody String getEndPointsInView() { String result = ""; for (RequestMappingInfo element : requestMappingHandlerMapping.getHandlerMethods().keySet()) { result += "

" + element.getPatternsCondition() + "
"; result += element.getMethodsCondition() + "
"; result += element.getParamsCondition() + "
"; result += element.getConsumesCondition() + "
"; } return result; }

Não recebo nenhuma informação do @RequestParam

Com RequestMappingHandlerMapping no Spring 3.1, você pode navegar facilmente pelos endpoints.

O controlador :

 @Autowire private RequestMappingHandlerMapping requestMappingHandlerMapping; @RequestMapping( value = "endPoints", method = RequestMethod.GET ) public String getEndPointsInView( Model model ) { model.addAttribute( "endPoints", requestMappingHandlerMapping.getHandlerMethods().keySet() ); return "admin/endPoints"; } 

A vista :

 <%@ page session="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  Endpoint list   
path methods consumes produces params headers custom
${endPoint.patternsCondition} ${endPoint.methodsCondition} ${endPoint.consumesCondition} ${endPoint.producesCondition} ${endPoint.paramsCondition} ${endPoint.headersCondition} ${empty endPoint.customCondition ? "none" : endPoint.customCondition}

Você também pode fazer isso com o Spring <3.1, com DefaultAnnotationHandlerMapping vez de RequestMappingHandlerMapping . Mas você não terá o mesmo nível de informação.

Com DefaultAnnotationHandlerMapping você terá apenas o caminho dos endpoints, sem informações sobre seus methods, consome, params …