Я запускаю свое приложение Springboot, устанавливая контекстный путь в /myservice. Это приводит к добавлению всех конечных точек моих приводов, выставленных по URL-адресу http://localhost:8080/myservice/actuator/, в то время как мне нужен только http://localhost:8080/actuator/. Есть ли способ сказать Springboot игнорировать добавление пути контекста к конечным точкам привода (через DispatcherServlet или CXFServlet или что-то еще) Пожалуйста, помогите.
SpringBoot добавляет контекстный путь к конечным точкам Actuator.
Ответы (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.
Что вы можете сделать, так это использовать другой порт для конечных точек управления.
management.server.port=8081
Затем вы получите http://localhost:8081/actuator.
Технически это невозможно, потому что Spring Boot имеет только один DispatcherServlet
, который является передним контроллером, если вам нужны два разных пути, вы можете использовать аннотацию @RequestMapping
на двух разных контроллерах.
Тем не менее, вам нужны два разных контекстных пути, тогда у вас должно быть два DispatcherServlet's
Для изменения корневого пути привода -> application.properties
management.endpoints.web.base-path=/
Это приведет к тому, что все конечные точки управления (включая привод) не будут иметь базового пути, или вы можете что-то указать.