获取spring中所有定义了的requestMapping信息


  获取spring中所有定义了的requestMapping信息

  前置条件:

  所在bean实现ApplicationContextAware接口

  拥有属性private Set<String> requestMappings = new HashSet<>(500);

  

  实现过程:

  

@Override
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    AbstractHandlerMethodMapping<RequestMappingInfo> methodMapping = (AbstractHandlerMethodMapping<RequestMappingInfo>) applicationContext.getBean("requestMappingHandlerMapping");
    Map<RequestMappingInfo, HandlerMethod> mapRet = methodMapping.getHandlerMethods();
    mapRet.keySet().forEach(requestMappingInfo -> requestMappings.add(requestMappingInfo.toString()));
  }
View Code
  @GetMapping("obtain.request.mapping")
  public R obtainRequestMapping() {
    return R.success(requestMappings);
  }
View Code

 

  如果拿不到bean用

AbstractHandlerMethodMapping<RequestMappingInfo> methodMapping = (AbstractHandlerMethodMapping<RequestMappingInfo>) applicationContext.getBean(RequestMappingHandlerMapping.class.getName());

获取:{{url}}/obtain.request.mapping


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM