随着
RequestMappingHandlerMappingSpring 3.1,你可以轻松浏览端点。
The controller :
@Autowireprivate RequestMappingHandlerMapping requestMappingHandlerMapping;@RequestMapping( value = "endPoints", method = RequestMethod.GET )public String getEndPointsInView( Model model ){ model.addAttribute( "endPoints", requestMappingHandlerMapping.getHandlerMethods().keySet() ); return "admin/endPoints";}The view :
<%@ page session="false" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><html><head><title>Endpoint list</title></head><body><table> <thead> <tr> <th>path</th> <th>methods</th> <th>consumes</th> <th>produces</th> <th>params</th> <th>headers</th> <th>custom</th> </tr> </thead> <tbody> <c:forEach items="${endPoints}" var="endPoint"> <tr> <td>${endPoint.patternsCondition}</td> <td>${endPoint.methodsCondition}</td> <td>${endPoint.consumesCondition}</td> <td>${endPoint.producesCondition}</td> <td>${endPoint.paramsCondition}</td> <td>${endPoint.headersCondition}</td> <td>${empty endPoint.customCondition ? "none" : endPoint.customCondition}</td> </tr> </c:forEach> </tbody></table></body></html>你也可以在Spring <3.1中使用
DefaultAnnotationHandlerMapping代替
RequestMappingHandlerMapping。但是你不会获得相同级别的信息。
有了它们,
DefaultAnnotationHandlerMapping你将只有端点路径,而没有关于它们的方法,消耗,参数的信息。



