使用SpringBoot获取所有接口的路由
作者:情陌人灬已不在 时间:2021-08-29 22:28:34
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);
}
Springboot部分路由生效
问题记录
项目新增接口"foo",始终不生效,经排查发现controller层的@RequestMaping(value=“test”)统一加了基础路径"test",我新增的接口注解为@PostMappinp(“test/foo),导致生成的路由为"test/test/foo”, 调用地址为"test/foo",所以报了404。
来源:https://www.cnblogs.com/deityjian/p/12533302.html
标签:SpringBoot,接口,路由
0
投稿
猜你喜欢
JAVA 字符串加密、密码加密实现方法
2023-11-28 04:08:09
Android仿微信录制语音功能
2022-10-18 15:54:18
Java解析XML的四种方法详解
2022-07-02 23:39:33
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码
2022-06-06 19:48:18
java并发编程专题(四)----浅谈(JUC)Lock锁
2021-11-30 00:20:23
java在linux本地执行shell命令的实现方法
2023-11-14 02:31:33
c#的时间日期操作示例分享(c#获取当前日期)
2021-07-09 15:44:35
c# SqlDataAdapter中的Fill是怎么实现的
2021-07-16 08:30:04
Spring实战之Bean定义中的SpEL表达式语言支持操作示例
2021-07-07 10:46:19
java实现斗地主发牌系统
2023-06-11 01:48:40
详解 Java中日期数据类型的处理之格式转换的实例
2021-12-29 05:17:49
详解android 中animation-list 动画的应用
2022-09-13 18:28:31
一文详解Java拦截器与过滤器的使用
2021-12-17 03:40:41
用c#获得当前用户的Application Data文件夹位置
2022-02-13 10:05:22
java项目中的绝对路径和相对路径用法说明
2023-11-27 22:08:44
从Cocos2d-x2迁移到Cocos2d-x3的过程分享
2021-06-07 23:52:28
Android实现拍照添加时间水印
2023-10-02 14:23:51
springmvc实现自定义类型转换器示例
2021-09-29 23:46:53
android 开发教程之日历项目实践(二)
2022-05-05 22:22:13
完美解决客户端webview持有的页面缓存,不会立即释放的问题
2021-09-23 03:30:50