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
Вот как я это решил:
Пункт списка
spring.cloud.config.server.prefix=config-server
- обратите внимание, что любой запрос к серверу конфигурации потребует добавления префикса!Добавьте следующий bean-компонент (пример реализации в Kotlin)
@Bean fun configServerApi(): GroupedOpenApi = GroupedOpenApi.builder() .group("Config server") .pathsToMatch( "/config-server/**" ) .build()
Теперь вы сможете получить доступ к пользовательскому интерфейсу swagger :)