Spring-Doc open api не работает с сервером облачной конфигурации Spring @EnableConfigServer

Я использую spring boot 2.3.2.RELEASE с участием spring-cloud-config-server 2.2.4.RELEASE. Я пытаюсь реализоватьspring-doc-openapi (1.4.3)в существующем проекте. Если я добавлю@EnableConfigServer в одном файле конфигурационного класса swagger-ui.html конечная точка возвращает странный json:

   "name":"swagger-ui",
   "profiles":[
      "index.html"
   ],
   "label":null,
   "version":null,
   "state":null,
   "propertySources":[

   ]
}

а не чванство, как ожидалось. Я не уверен, что это ошибка, но был бы признателен за любую помощь.

2 ответа

Не уверен, уместно ли добавить зависимость springdoc на сервер конфигурации облака Spring, если вам не нужно самостоятельно исследовать некоторые API-интерфейсы на сервере конфигурации.

Вот ссылка на полностью рабочий пример использования springdoc с сервером конфигурации:

А это ссылка на блог, в котором объясняется естественное использование микросервисов и весенних облачных модулей:

Ответ от @brianbro, похоже, больше не работает...

Проверено на: springdoc-openapi v1.6.6а также org.springframework.cloud:spring-cloud-config-server:v2.2.4.RELEASE

Вот как я это решил:

  1. Пункт списка spring.cloud.config.server.prefix=config-server- обратите внимание, что любой запрос к серверу конфигурации потребует добавления префикса!

  2. Добавьте следующий bean-компонент (пример реализации в Kotlin)

            @Bean fun configServerApi(): GroupedOpenApi =
    GroupedOpenApi.builder()
        .group("Config server")
        .pathsToMatch(
            "/config-server/**"
        )
        .build()
    

Теперь вы сможете получить доступ к пользовательскому интерфейсу swagger :)

Другие вопросы по тегам