导出SpringMVC中所有Controller的路径映射

感觉本文帮到了你?分享一下:

项目开发过程中发现公司把很多功能打包到jar包中,不给源码,很多api接口分布在不同的Controller中,命名又不规范,找代码很麻烦,于是想到是否可以把所有springMVC内部的路径映射导出来,做一个txt文件,随用随查,以下是方法

随便找个controller加入以下代码

 @Autowired
     private RequestMappingHandlerMapping mapping;//这个类可以自动注入,此类管理SpingMVC所有映射

再找一个方法,加入以下代码:

Map<RequestMappingInfo, HandlerMethod> handlerMethods = mapping.getHandlerMethods();// 就是这个
        PrintWriter pw = new PrintWriter(new FileWriter(new File("d:\\pathMapping.txt")));
        for (RequestMappingInfo rmi : handlerMethods.keySet()) {
            HandlerMethod handlerMethod = handlerMethods.get(rmi);
            String path = rmi.getPatternsCondition()+"----->"+handlerMethod.getBeanType().getCanonicalName()+"."+handlerMethod.getMethod().getName();
            System.out.println(path);
            pw.println(path);
        }
        pw.flush();
        pw.close();

执行一个请求,就可以在d:\pathMapping.txt获取到所有映射了,参考格式

[/flowMgr/myApprove/queryAppByPage]----->com.xxx.xx.activity.controller.xx.queryMyApprove
[/flowMgr/activiti/xx]----->com.xxx.xxx.activity.controller.xx.queryMyTaskCount
[/xx/xx/{externalDataInfoId}]----->com.xxx.xxx.xxx.controller.xx.update
[/xx/xx/{externalDataInfoId}]----->com.xxx.xxx.xxx.controller.xxx.delete

执行完成后就可以把刚才加的代码都删掉了

为你 推荐的内容

关于作者: namezhou

发表评论

邮箱地址不会被公开。 必填项已用*标注