如何查找SpringBoot应用中的请求路径(不使用idea)
背景
昨天有个同事向我咨询某个接口的物理表是哪个,由于公司业务较多、这块业务的确不是我负责的,也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串),也就回复了不清楚。
除了自己写代码输出servlet的路径和类外,发现了一个我之前没用过的方法:Spring Boot Actuator,分享给大家。
文中未启用
/actuator/**
路径的授权访问功能,仅供测试环境学习。如需配置授权访问请自行研究。
操作方式
1、引入actuator依赖
gradle
implementation "org.springframework.boot:spring-boot-starter-actuator"
maven
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2、配置文件启用actuator
management: server: port: ${server.port} #引用server.port,与服务同端口,也可设其他值。想禁用/actuator端口可设为-1 endpoints: web.exposure.include: "mappings" #仅暴露出路径映射信息
3、访问接口获取json
访问服务地址/actuator/mappings
会返回一个json,将该json复制到文本中,使用vscode或其他工具格式化成json。
然后就可以在json中搜索到相关的信息了。
- contexts.应用名.mappings.dispatcherServlets.dispatcherServlet 数组里就是当前服务通过springmvc方式暴露的接口信息了。
- contexts.应用名.mappings.servletFilters 数组里包含过滤器信息。
- contexts.应用名.mappings.servlets 数组中包含原生写法注入的servlet信息。
这里的
应用名
对应spring.application.name
配置的值。
本文作者:Hellxz博客
本文链接:https://www.cnblogs.com/hellxz/p/17983078
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步