问题描述
我通过将上下文路径设置为 /myservice 来运行我的 springboot 应用程序。这会导致附加在 URL-http://localhost:8080/myservice/actuator/ 上公开的所有执行器端点,而我只想要 http://localhost:8080/actuator/。 有没有办法告诉 springboot 忽略附加到执行器端点的上下文路径(通过 dispatcherServlet 或 CXFServlet 或任何东西) 请帮忙。
解决方法
不幸的是,这是不可能的。
来自文档:
除非管理端口已配置为通过以下方式公开端点 使用不同的 HTTP 端口, management.endpoints.web.base-path 是 相对于 server.servlet.context-path(Servlet Web 应用程序)或 spring.webflux.base-path(反应式 Web 应用程序)。如果 management.server.port 已配置, management.endpoints.web.base-path 是相对于 management.server.base-path.
您可以做的是为管理端点使用不同的端口。
management.server.port=8081
然后你会得到 http://localhost:8081/actuator
,技术上是不可能的,因为spring boot只有一个DispatcherServlet
是前端控制器,如果你想要两个不同的路径那么你可以在两个不同的控制器上使用@RequestMapping
注解`
您仍然需要两个不同的上下文路径,那么您应该有两个 DispatcherServlet's
更改执行器的根路径 -> application.properties
management.endpoints.web.base-path=/
这将使所有管理端点(包括执行器)都没有基本路径,或者您可以指定一些内容。