獲取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