SpringBoot добавляет контекстный путь к конечным точкам Actuator.

Я запускаю свое приложение Springboot, устанавливая контекстный путь в /myservice. Это приводит к добавлению всех конечных точек моих приводов, выставленных по URL-адресу http://localhost:8080/myservice/actuator/, в то время как мне нужен только http://localhost:8080/actuator/. Есть ли способ сказать Springboot игнорировать добавление пути контекста к конечным точкам привода (через DispatcherServlet или CXFServlet или что-то еще) Пожалуйста, помогите.


person Shridha Jalihal    schedule 21.05.2021    source источник


Ответы (3)


К сожалению, это невозможно.

Из документации:

Если порт управления не настроен для предоставления конечных точек с помощью другого HTTP-порта, management.endpoints.web.base-path относится к server.servlet.context-path (веб-приложения сервлетов) или spring.webflux.base-path ( реактивные веб-приложения). Если management.server.port настроен, management.endpoints.web.base-path относится к management.server.base-path.

Источник: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#actuator.monitoring.customizing-management-server-context-path

Что вы можете сделать, так это использовать другой порт для конечных точек управления.

management.server.port=8081

Затем вы получите http://localhost:8081/actuator.

person Simon Martinelli    schedule 21.05.2021

Технически это невозможно, потому что Spring Boot имеет только один DispatcherServlet, который является передним контроллером, если вам нужны два разных пути, вы можете использовать аннотацию @RequestMapping на двух разных контроллерах.

Тем не менее, вам нужны два разных контекстных пути, тогда у вас должно быть два DispatcherServlet's

person Zaur    schedule 21.05.2021

Для изменения корневого пути привода -> application.properties

management.endpoints.web.base-path=/

Это приведет к тому, что все конечные точки управления (включая привод) не будут иметь базового пути, или вы можете что-то указать.

person Borislav Stoilov    schedule 22.05.2021