Swagger-UI和Ktor如何导入swagger.json或.yaml文件启动Swagger-UI?
Swagger-UI and Ktor how to import swagger.json or .yaml file and start Swagger-UI?
我有一个问题,我已经生成了 OpenApi Swagger 文件(swagger.json 和 swagger.yaml)是否有可能以某种方式在 Ktor(kotlin)中导入这些文件并启动 swagger-ui 特定路线上的服务器?
我访问了 ktor-swagger project,但可以了解如何仅添加 json 文件来显示 swagger-ui。
有什么建议么 ?
使您 json 可以从静态路由访问文件
在资源目录中创建“文件”目录
使用下一个代码从“文件”目录路由静态文件
routing {
static("/static") {
resources("files")
}
//...
}
让名称 json 文件 "test.json",然后将其放入“文件”文件夹
所以现在你 运行 应用程序并通过 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通过招摇看到你的文件UI
此外,您可以提供自己的路由以使用重定向
get("/api") {
call.respondRedirect("/swagger-ui/index.html?url=/static/test.json", true)
}
这将允许您只使用 http://localhost:8080/api
我有一个问题,我已经生成了 OpenApi Swagger 文件(swagger.json 和 swagger.yaml)是否有可能以某种方式在 Ktor(kotlin)中导入这些文件并启动 swagger-ui 特定路线上的服务器? 我访问了 ktor-swagger project,但可以了解如何仅添加 json 文件来显示 swagger-ui。 有什么建议么 ?
使您 json 可以从静态路由访问文件
在资源目录中创建“文件”目录
使用下一个代码从“文件”目录路由静态文件
routing { static("/static") { resources("files") } //... }
让名称 json 文件 "test.json",然后将其放入“文件”文件夹
所以现在你 运行 应用程序并通过 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通过招摇看到你的文件UI
此外,您可以提供自己的路由以使用重定向
get("/api") {
call.respondRedirect("/swagger-ui/index.html?url=/static/test.json", true)
}
这将允许您只使用 http://localhost:8080/api