参考链接 https://www.cnblogs.com/yuananyun/archive/2014/08/25/3934371.html
参考上面大神的代码写的,发现他的代码有点小小的问题啊,我这只菜鸟有点小小不懂哈,然后我就Ctrl+C了一下,然后修改一下了啊,改成我寄己可以运行的啊,下面上代码
Controller代码
@ResponseBody @RequestMapping("/url/list/show") public String listUrlsShow(){ Map map = this.handlerMapping.getHandlerMethods(); Iterator<?> iterator = map.entrySet().iterator(); List<RequestToMethodItem> urls=new ArrayList<>(); while(iterator.hasNext()){ Map.Entry<RequestMappingInfo, HandlerMethod> entry = (Map.Entry) iterator.next(); RequestMappingInfo requestMappingInfo = entry.getKey(); HandlerMethod mappingInfoValue = entry.getValue(); String controllerName = mappingInfoValue.getBeanType().toString(); String requestMethodName = mappingInfoValue.getMethod().getName(); Class<?>[] methodParamTypes = mappingInfoValue.getMethod().getParameterTypes(); RequestMethodsRequestCondition methodCondition = requestMappingInfo.getMethodsCondition(); Iterator it=methodCondition.getMethods().iterator(); String requestType =it.hasNext()?methodCondition.getMethods().iterator().next().name():""; PatternsRequestCondition patternsCondition = requestMappingInfo.getPatternsCondition(); String requestUrl = patternsCondition.getPatterns().iterator().next(); RequestToMethodItem item = new RequestToMethodItem(requestUrl, requestType, controllerName, requestMethodName, methodParamTypes); urls.add(item); } return successResponse(urls); }
使用到的POJO代码:
RequestToMethodItem.java
public class RequestToMethodItem { public String controllerName; public String methodName; public String requestType; public String requestUrl; public Class<?>[] methodParmaTypes; public RequestToMethodItem(String requestUrl, String requestType, String controllerName, String requestMethodName, Class<?>[] methodParmaTypes) { this.requestUrl = requestUrl; this.requestType = requestType; this.controllerName = controllerName; this.methodName = requestMethodName; this.methodParmaTypes = methodParmaTypes; } }
好啦好啦,就这些代码啦,撒花~~~
说明一下哈,敲黑板,注意听:
successResponse()方法是我自己封装的哈,功能是把最后得到的结果List,转换成json对象哈,反正最后结果都在urls中啦。可以选择打印撒。。
运行一下哦,come on baby!!! 输入链接,访问访问。。。
下面就是运行结果图啦,散开散开,图有点大鸭