千家信息网

如何使用SpringBoot获取所有接口的路由

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"如何使用SpringBoot获取所有接口的路由",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用SpringBoot获取所有接口的路
千家信息网最后更新 2025年01月19日如何使用SpringBoot获取所有接口的路由

本篇内容主要讲解"如何使用SpringBoot获取所有接口的路由",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用SpringBoot获取所有接口的路由"吧!

目录
  • SpringBoot获取所有接口的路由

  • Springboot部分路由生效

    • 问题记录

SpringBoot获取所有接口的路由

@Autowired    WebApplicationContext applicationContext;     @RequestMapping(value = "v1/getAllUrl", method = RequestMethod.POST)    public Object getAllUrl() {        RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);        // 获取url与类和方法的对应信息        Map map = mapping.getHandlerMethods();        //      List urlList = new ArrayList<>();//      for (RequestMappingInfo info : map.keySet()) {//          // 获取url的Set集合,一个方法可能对应多个url//          Set patterns = info.getPatternsCondition().getPatterns();////          for (String url : patterns) {//              urlList.add(url);//          }//      }         List> list = new ArrayList>();        for (Entry m : map.entrySet()) {            Map map1 = new HashMap();            RequestMappingInfo info = m.getKey();              HandlerMethod method = m.getValue();              PatternsRequestCondition p = info.getPatternsCondition();              for (String url : p.getPatterns()) {                  map1.put("url", url);            }              map1.put("className", method.getMethod().getDeclaringClass().getName()); // 类名              map1.put("method", method.getMethod().getName()); // 方法名             RequestMethodsRequestCondition methodsCondition = info.getMethodsCondition();            for (RequestMethod requestMethod : methodsCondition.getMethods()) {                map1.put("type", requestMethod.toString());            }                        list.add(map1);        }

Springboot部分路由生效

问题记录

项目新增接口"foo",始终不生效,经排查发现controller层的@RequestMaping(value="test")统一加了基础路径"test",我新增的接口注解为@PostMappinp("test/foo),导致生成的路由为"test/test/foo", 调用地址为"test/foo",所以报了404。

到此,相信大家对"如何使用SpringBoot获取所有接口的路由"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0