如何查找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配置的值。

相关推荐
程序猿DD27 分钟前
OctaFuse Gateway 2.17.0:新增维护模式、请求日志汇总、DashScope 语音路由拆分
后端
陈随易1 小时前
副业搞钱点子之赛事与活动
前端·后端·程序员
Profile排查笔记1 小时前
有哪些开源指纹浏览器项目?先核对客户端、内核与许可证
前端·人工智能·后端·自动化
鶴哥只手遮天1 小时前
雷达系统与成像仿真:从电磁散射到工程实现-第 1 章 雷达系统的分层架构与指标闭环
后端
喵了几个咪1 小时前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
王中阳Go1 小时前
面试官问什么,取决于你简历上写了什么:后端转 Agent 岗的项目准备法
后端·面试·agent
快乐流星2 小时前
从 SRT 到 MP4:用 Python 把番剧解说制作拆成 10 个可重跑阶段
后端
狂潮lister2 小时前
狂潮 · 元理论v1.0-原创架构设计-AI 网关 | 第9篇:KC-AI‑Gateway(一套可审计的大模型网关完整架构实践)|【完整版】
人工智能·后端
张一凡932 小时前
AI 改完代码,人却不知道它改了什么:架构漂移才是真正的成本
前端·后端·agent
鶴哥只手遮天2 小时前
雷达系统与成像仿真:从电磁散射到工程实现-第 2 章 雷达方程、链路预算与探测边界
后端