获取SpringMVC中所有RequestMapping映射URL信息

SpringMVC启动的时候,会把接口信息收集在RequestMappingHandlerMapping中,故可以通过这个类,拿到全部的映射信息,Sample代码段如下:

@Autowired
private ApplicationContext applicationContext;

Set<String> noLoginUrlSet = new HashSet<>();
RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
Map<RequestMappingInfo, HandlerMethod> handlerMethods = mapping.getHandlerMethods();// 就是这个
for (RequestMappingInfo rmi : handlerMethods.keySet()) {
   HandlerMethod handlerMethod = handlerMethods.get(rmi);
   if (handlerMethod.hasMethodAnnotation(NoLogin.class)) {
      PatternsRequestCondition prc = rmi.getPatternsCondition();
      Set<String> patterns = prc.getPatterns();
      noLoginUrlSet.addAll(patterns);
   }
}

原文地址:https://www.cnblogs.com/yejg1212/p/11950542.html

时间: 2024-10-08 17:27:29

获取SpringMVC中所有RequestMapping映射URL信息的相关文章

SpringMVC之使用requestMapping映射请求、映射参数、映射头

1. 映射请求 作用:使用requestMapping可以指定处理器可以处理那些请求 地方:类和方法前面都可以 @requestMapping 类定义处: 提供初步的请求映射信息,相对于web应用的根目录. 方法定义处: 提供进一步的细分映射信息,相对于类定义处的URL.若类定义处未标注 @requestMapping,则方法处的URL相对于web应用的根目录 2. 映射参数和映射头 @RequestMapping(value="testParamsAndHandler",params

SpringMVC之使用 @RequestMapping 映射请求

@RequestMapping注解 SpringMVC使用该注解让控制器知道可以处理哪些请求路径的,除了可以修饰方法,还可以修饰在类上. – 类定义处:提供初步的请求映射信息.相对于 WEB 应用的根目录– 方法处:提供进一步的细分映射信息.相对于类定义处的 URL.若类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录 . DispatcherServlet作为SpringMVC的前置控制器,拦截客户端请求后,通过该注解的映射信息确定请求的处理方法

SpringMVC中的种映射处理器

在SpringMVC中处理请求到对应的Controller有三种: 一.BeanNameUrlHandlerMapping(默认) 该处理器根据bean的name属性对应到请求上 <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>可有可无 例如: <bean name="/index3" class="com.controlle

获取request中传递过来的header信息

1.添加HttpServletRequest注解,也可以作为参数传递 @Autowired protected HttpServletRequest request; 2.获取header /** * <h5>功能: 获取从request中传递过来的header信息</h5> * * @return Map<String, Object> */ public Map<String, Object> getHeaders() { Map<String,

SpringMVC中的@requestMapping问题与controller方法的返回值问题

@requestMapping 1.url映射 定义controller方法对应的url,进行处理器映射使用 @RequestMapping("/items") public class ItemsController {...} 2.窄化请求映射 3.限制http请求方法 出于安全性考虑,对http的链接进行方法限制. 如果限制请求为post方法,进行get请求,报错: 但是因为method={}是数组,所以可以把POST与GET方法都写进去 controller方法的返回值 1.返

如何获取imageView中当前内容的相关信息并比较?

1 public class MainActivity extends Activity implements OnClickListener{ 2 3 private Button button; 4 private EditText editText; 5 private ImageView imageView; 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedI

【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 [java] view plaincopyprint? PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信

SOA中springmvc中restful服务动态刷新token信息

因为要考虑服务端token的动态刷新,而且还要单独启动定时调度任务去刷新token信息,保证token的时效及安全问题,直接分享动态刷新token的代码: Java代码 @CrossOrigin(origins = "*", maxAge = 3600,methods={RequestMethod.GET,RequestMethod.POST,RequestMethod.DELETE,RequestMethod.PUT}) @RestController @RequestMapping

打印 SpringMVC中所有的接口URL

采用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:schemaLocati