Skip to content
Server Plugin

OpenAPI

所需依赖项: io.ktor:ktor-server-openapi

代码示例: json-kotlinx-openapi

原生服务器
Ktor 支持 Kotlin/Native,允许您无需额外的运行时或虚拟机即可运行服务器。
支持: ✖️

Ktor 允许您基于现有的 OpenAPI 规范为您的项目生成并提供 OpenAPI 文档。

undefined

添加依赖项

  • 提供 OpenAPI 文档需要在构建脚本中添加 ktor-server-openapi artifact:

    Kotlin
    Groovy
    XML
  • 可选地,如果您想自定义一个代码生成器,请添加 swagger-codegen-generators 依赖项:

    Kotlin
    Groovy
    XML

    您可以将 $swagger_codegen_version 替换为 swagger-codegen-generators artifact 所需的版本,例如 1.0.36

配置 OpenAPI

要提供 OpenAPI 文档,您需要调用 openAPI 方法,该方法会创建一个 GET 端点,其文档位于 path 处,并从 swaggerFile 处放置的 OpenAPI 规范渲染而来:

kotlin
import io.ktor.server.plugins.openapi.*

// ...
routing {
    openAPI(path="openapi", swaggerFile = "openapi/documentation.yaml")
}

此方法会尝试在应用程序资源中查找 OpenAPI 规范。否则,它会尝试使用 java.io.File 从文件系统读取 OpenAPI 规范。

默认情况下,文档是使用 StaticHtml2Codegen 生成的。您可以在 openAPI 代码块内自定义生成设置:

kotlin
routing {
    openAPI(path="openapi", swaggerFile = "openapi/documentation.yaml") {
        codegen = StaticHtmlCodegen()
    }
}

您现在可以运行应用程序并打开 /openapi 页面以查看生成的文档。