Swagger-UI和Ktor如何导入swagger.json或.yaml文件并启动Swagger-UI?

阿特姆·维尼格拉多夫(Artem Vinigradov)

我有一个问题,我已经生成了OpenApi Swagger文件(swagger.json和swagger.yaml),是否可以在Ktor(kotlin)中以某种方式导入此文件并在特定路径上启动swagger-ui服务器?我已经访问了ktor-swagger项目,但是可以获得如何仅添加json文件来显示swagger-ui的信息。有什么建议 ?

立方体

使您可以从静态路由访问json文件

  1. 在资源目录中创建“文件”目录

  2. 使用下一个代码从“文件”目录路由静态文件

    routing {
        static("/static") {
            resources("files")
        }
        //...
    }
    
  3. 让我们将json文件命名为“ test.json”,然后将其放在“ files”文件夹中

所以现在您运行该应用程序,并通过http:// localhost:8080 / static / test.json看到此文件

然后我们需要安装和配置OpenApiGen

  1. 添加OpenApiGen依赖项,您可以在这里找到如何执行此操作https://github.com/papsign/Ktor-OpenAPI-Generator

  2. 然后使用以下代码

    install(OpenAPIGen) {
        serveSwaggerUi = true
        swaggerUiPath = "/swagger-ui"
    }
    

现在您可以使用http:// localhost:8080 / swagger-ui / index.html?url = / static / test.json URL通过swagger UI查看文件

另外,您可以提供自己的重定向使用路线

get("/api") {
   call.respondRedirect("/swagger-ui/index.html?url=/static/test.json", true)
}

这将允许您仅使用http:// localhost:8080 / api

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章