您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“如何使用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<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods(); // List<String> urlList = new ArrayList<>(); // for (RequestMappingInfo info : map.keySet()) { // // 獲取url的Set集合,一個方法可能對應多個url // Set<String> patterns = info.getPatternsCondition().getPatterns(); // // for (String url : patterns) { // urlList.add(url); // } // } List<Map<String, String>> list = new ArrayList<Map<String, String>>(); for (Entry<RequestMappingInfo, HandlerMethod> m : map.entrySet()) { Map<String, String> map1 = new HashMap<String, String>(); 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); }
項目新增接口"foo",始終不生效,經(jīng)排查發(fā)現(xiàn)controller層的@RequestMaping(value=“test”)統(tǒng)一加了基礎路徑"test",我新增的接口注解為@PostMappinp(“test/foo),導致生成的路由為"test/test/foo”, 調(diào)用地址為"test/foo",所以報了404。
到此,相信大家對“如何使用SpringBoot獲取所有接口的路由”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。