打印 SpringMVC中所有的接口URL

简介: 采用junit test方式 1.配置  simple-test.xml      2.Junit Test Case package com.

采用junit test方式

1.配置  simple-test.xml 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="requestMappingHandlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
    <bean id="requestMappingHandlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
</beans>

 

 

2.Junit Test Case

package com.xxx.msa.test;

import java.util.Map;
import java.util.Map.Entry;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

public class TestUrl {
	
    @Autowired
    private static RequestMappingHandlerAdapter handlerAdapter;

    @Autowired
    private static RequestMappingHandlerMapping handlerMapping;
	
    	@BeforeClass
	    public static void before(){
	    	ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{
	    			"classpath*:config/spring/spring-main.xml", 
	    			"classpath*:config/spring/springmvc/springMVC.xml"
	    			,"classpath*:config/spring/simple-test.xml"});
	    	handlerAdapter=(RequestMappingHandlerAdapter) ctx.getBean("requestMappingHandlerAdapter");
	    	handlerMapping=(RequestMappingHandlerMapping) ctx.getBean("requestMappingHandlerMapping");
	    }
	 
      
	
	@Test
	public void testUrls(){
		Map<RequestMappingInfo, HandlerMethod> handlerMethods =handlerMapping
				.getHandlerMethods();

		for (Entry<RequestMappingInfo, HandlerMethod> item : handlerMethods
				.entrySet()) {
			RequestMappingInfo mapping = item.getKey();
			HandlerMethod method = item.getValue();

			for (String urlPattern : mapping.getPatternsCondition()
					.getPatterns()) {
				System.out.println(method.getBeanType().getName() + "#"
						+ method.getMethod().getName() + " <-- " + urlPattern);

				if (urlPattern.equals("some specific url")) {
					// add to list of matching METHODS
				}
			}
		}    
		
	}

}

 

 

 

3.结果

image

 

 

 

4.延伸: 打印出符合markdown语法的表格

改写testUrl()

@Test
	public void testUrls(){
		System.out.println("------------以下文本复制到符合markdown语法的编辑器中------------\r\r");
		
		Map<RequestMappingInfo, HandlerMethod> handlerMethods =handlerMapping
				.getHandlerMethods();
		StringBuilder sb=new StringBuilder();
		sb.append("[MSA系统][1]").append("\r\n");
		sb.append("| 序号 | 类名 | 方法名  | URI |说明|").append("\r\n");
		sb.append("| :-----:|:----|:----|:----| :----|").append("\r\n");
		int index=1;
		for (Entry<RequestMappingInfo, HandlerMethod> item : handlerMethods
				.entrySet()) {
			RequestMappingInfo mapping = item.getKey();
			HandlerMethod method = item.getValue();
			sb.append("| ");
				for (String urlPattern : mapping.getPatternsCondition().getPatterns()) {
					sb.append(index+"    |").append(method.getBeanType().getSimpleName()+"    |").append(method.getMethod().getName()+"    |").append(urlPattern+"    |");
					
					if (urlPattern.equals("some specific url")) {
						// add to list of matching METHODS
					}
					index++;
				}
			sb.append("|\r\n");
		}    
		sb.append("![MSA测量系统][2]").append("\r\n\r\n");
		sb.append("[1]:http://baike.baidu.com/link?url=xTbrqN9R1f3b1nayzmLNlWRIV7qP3qg3g50ig14g68kPXIrcrgymGzniaR8Ay7g9kzLkYgPeUcHR_YxgTMESHa").append("\r\n");
		sb.append("[2]:http:////img12.360buyimg.com/n0/jfs/t703/314/1199846466/213652/541cad01/5527d639N36f38009.jpg").append("\r\n");
		System.out.println(sb);
		
	}

markdown语法表格效果

[MSA系统][1]
| 序号 | 类名 | 方法名  | URI |说明|
| :-----:|:----|:----|:----| :----|
| 1    |GageCheckRecordController    |create    |/GageCheckRecord/create    ||
| 2    |GageCheckRecordController    |update    |/GageCheckRecord/update    ||
| 3    |GageCheckRecordController    |gageCheckRecordIndex    |/GageCheckRecord/list    ||
| 4    |GageCheckRecordController    |gageCheckRecordExport    |/GageCheckRecord/export    ||
| 5    |GageController    |delete    |/Gage/delete/{gageId}    ||
| 6    |GageController    |CheckConfigUpate    |/Gage/CheckConfig/update    ||
| 7    |GageController    |CheckConfigSwitch    |/Gage/CheckConfigSwitch/update    ||
| 8    |GageController    |gageNew    |/Gage/create    ||
| 9    |GageController    |gageUpdate    |/Gage/update    ||
| 10    |GageController    |findByGageId    |/Gage/{gageId}    ||
| 11    |GageController    |gageLeftList    |/Gage/list    ||
| 12    |GageController    |gageIndex    |/Gage/index    ||
| 13    |GageController    |gageCheckRecordExport    |/Gage/export    ||
| 14    |GrrAnalysisController    |create    |/GrrAnalysis/create    ||
| 15    |GrrAnalysisController    |list    |/GrrAnalysis/list    ||
| 16    |GrrAnalysisController    |getResult    |/GrrAnalysis/getResult    ||
| 17    |GrrAnalysisController    |getInput    |/GrrAnalysis/getData    ||
| 18    |GrrAnalysisController    |saveData    |/GrrAnalysis/saveData    ||
| 19    |GrrAnalysisController    |compute    |/GrrAnalysis/compute    ||
| 20    |GrrTemplateController    |index    |/GrrTemplate/index    ||
| 21    |GrrTemplateController    |createGrrTemplate    |/GrrTemplate/create    ||
| 22    |GrrTemplateController    |deleteGrrTemplate    |/GrrTemplate/delete    ||
| 23    |GrrTemplateController    |getGrrTemplate    |/GrrTemplate/get    ||
| 24    |IndexController    |totest    |/test    ||
| 25    |IndexController    |toindex    |/toindex    ||
| 26    |LoginController    |currentCompanyAccount    |/Login/currentCompanyAccount    ||
| 27    |LoginController    |login    |/Login/login    ||
| 28    |LoginController    |toLogin    |/Login/tologin    ||
| 29    |LoginController    |logout    |/Login/logout    ||
![MSA测量系统][2]

[1]:http://baike.baidu.com/link?url=xTbrqN9R1f3b1nayzmLNlWRIV7qP3qg3g50ig14g68kPXIrcrgymGzniaR8Ay7g9kzLkYgPeUcHR_YxgTMESHa
[2]:http:////img12.360buyimg.com/n0/jfs/t703/314/1199846466/213652/541cad01/5527d639N36f38009.jpg

 

可以把这些东西记录在 有道云笔记中,也可以放在github中

image

开始做,坚持做,重复做
相关文章
|
4月前
|
JSON 定位技术 API
谷歌地图接口Google Maps APIs中地图样式设计配置调整与JSON或URL导出
谷歌地图接口Google Maps APIs中地图样式设计配置调整与JSON或URL导出
|
4月前
|
数据处理
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
|
文字识别 Python
OCR接口全文识别高精版本地图片以及URL调用Python示例
官方完整项目似乎缺少了alibabacloud_darabonba_stream,直接导入项目,这边提示缺少依赖,后来手动导入后成功了
756 0
OCR接口全文识别高精版本地图片以及URL调用Python示例
|
前端开发 Java Spring
基于SpringMVC中的路径参数和URL参数实例
基于SpringMVC中的路径参数和URL参数实例
基于SpringMVC中的路径参数和URL参数实例
|
Java
SpringMVC之@PathVariable 映射 URL 绑定的占位符
SpringMVC之@PathVariable 映射 URL 绑定的占位符
137 0
|
前端开发 Java 数据处理
SpringMVC:认识MVC了解URL映射到页面文件全过程
SpringMVC:认识MVC了解URL映射到页面文件全过程
SpringMVC:认识MVC了解URL映射到页面文件全过程
|
架构师 Java 程序员
Spring之路(19)–SpringMVC+Bootstrap开发博客系统实例(数据库与URL设计篇)
本文目录 1. 概述 2. 数据库设计 3. URL设计 4. 遵守规范 5. 总结
141 0
Spring之路(19)–SpringMVC+Bootstrap开发博客系统实例(数据库与URL设计篇)
|
JSON Java 数据格式
java后台创建url连接,获取接口数据
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78982905 简介   1.
1067 0

热门文章

最新文章