如何查找SpringBoot应用中的请求路径(不使用idea)

背景

昨天有个同事向我咨询某个接口的物理表是哪个,由于公司业务较多、这块业务的确不是我负责的,也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串),也就回复了不清楚。

除了自己写代码输出servlet的路径和类外,发现了一个我之前没用过的方法:Spring Boot Actuator,分享给大家。

文中未启用/actuator/**路径的授权访问功能,仅供测试环境学习。如需配置授权访问请自行研究。

操作方式

1、引入actuator依赖

gradle

groovy 复制代码
implementation "org.springframework.boot:spring-boot-starter-actuator"

maven

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、配置文件启用actuator

yaml 复制代码
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配置的值。

相关推荐
一条Go1 小时前
OnCall 时段路由:跨午夜、左闭右开与「Local 不是时区」
后端·架构·github
Moment1 小时前
不会后期的我,发现了一个开源胶片神器😍😍😍
前端·后端·开源
数据库小学妹1 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
三小河2 小时前
SWC 凭什么比 Babel 快 ?项目优化迁移踩坑记录
前端·后端
鶴哥只手遮天2 小时前
《Redis 8.10.3 深度剖析》系列 ·第 17 章. 一个迟到十六年的类型
redis·后端·开源
知守观2 小时前
同一个团队两套分包:DDD 四层落地后,domain 层最大的类还是 5885 行
java·后端·领域驱动设计
Anymous3 小时前
我手写的 Redis 锁,输给了 10 秒的 TTL
后端·架构
Rain的Java大神之路3 小时前
设计一套生产级 API 接口:从契约、安全、幂等到限流,我踩过的坑都在这了
java·后端·面试
SimonKing3 小时前
零配置也能白嫖前沿大模型!dsh-our-free-model插件真香警告
java·后端·程序员
nice_lcj5203 小时前
【从零理解 Spring AI · 15】让检索更准:先宽召回,再精排序
java·后端·rag·spring ai·ai应用开发·检索优化·重排序