Как сделать путь привода Sprint Boot 2 на основе свойств приложения?

У меня есть приложение микросервиса с Spring Boot 2, которое использовало мою собственную библиотеку для распространения новой конечной точки на себя с помощью функций привода — мой собственный привод реализовал интерфейс MvcEndpoint и содержал переменную «путь», которая получила реальное сопоставление API из application.yml of микросервис, который использовал эту библиотеку.

Но после того, как я перекодировал свою библиотеку для весенней загрузки 2, у меня возникла проблема: свойство id в аннотации @Endpoint содержит только постоянное значение (как и все свойства аннотации), и у меня нет не нашел способа изменить путь API конечной точки моего привода на что-то вроде «/api/v1/my-service/my-actuator-endpoint».

Я попытался написать это в своем application.yml микросервиса:

endpoints:
  my-actuator-endpoint:
    path: /api/v1/my-service/my-actuator-endpoint

Но эта конечная точка по-прежнему доступна только из /my-actuator-endpoint , что означает только по ее идентификатору.

Как я могу сделать это доступным по пользовательскому пути, такому как /api/v1/my-service/my-actuator-endpoint, который будет настроен в application.yml?


person McMill    schedule 19.10.2019    source источник


Ответы (2)


Проблема решена, нужно добавить это свойство в application.yml:

management:
  endpoints:
    web:
      path-mapping:
        my-actuator-endpoint: api/v1/my-service/my-actuator-endpoint
person McMill    schedule 19.10.2019

вы можете открыть конечные точки привода, установив конфигурацию в файле свойств, подобном этому.

management.context-path=/manage
person sovannarith cheav    schedule 19.10.2019