Swagger-UI и Ktor, как импортировать файл swagger.json или .yaml и запустить Swagger-UI?
У меня проблема, я уже сгенерировал файлы OpenApi Swagger (swagger.json и swagger.yaml) Можно ли как-то в Ktor (kotlin) импортировать эти файлы и запустить сервер swagger-ui по определенному маршруту? Я посетил проект ktor-swagger, но смог узнать, как просто добавить файл json для отображения swagger-ui. Какие-либо предложения?
0 ответов
Сделайте ваш файл json доступным из статической маршрутизации
Создайте каталог "files" в каталоге ресурсов
Используйте следующий код для маршрутизации статических файлов из каталога files
routing { static("/static") { resources("files") } //... }
Назовем файл json "test.json" и поместим его в папку "files".
Итак, теперь вы запускаете приложение и видите этот файл по адресу http://localhost:8080/static/test.json
Затем нам нужно установить и настроить OpenApiGen
Добавьте зависимости OpenApiGen, как это сделать, вы можете найти здесь https://github.com/papsign/Ktor-OpenAPI-Generator
Затем используйте следующий код
install(OpenAPIGen) { serveSwaggerUi = true swaggerUiPath = "/swagger-ui" }
теперь вы можете использовать http://localhost:8080/swagger-ui/index.html?url=/static/test.json URL, чтобы просмотреть свой файл через пользовательский интерфейс swagger
Также вы можете указать свой собственный маршрут для использования перенаправления.
get("/api") {
call.respondRedirect("/swagger-ui/index.html?url=/static/test.json", true)
}
это позволит вам использовать только http://localhost:8080/api