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 構件:
Kotlin
Groovy
XML
  • 選擇性地,如果您想要客製化一個 程式碼產生器,請新增 swagger-codegen-generators 依賴項:
Kotlin
Groovy
XML

您可以將 $swagger_codegen_version 替換為 swagger-codegen-generators 構件所需的版本,例如 1.0.36

配置 OpenAPI

要提供 OpenAPI 文件,您需要呼叫 openAPI 方法。此方法會建立一個 GET 端點,其文件將從位於 swaggerFile 的 OpenAPI 規範渲染並顯示在 path

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 頁面以查看產生文件。