Server Plugin
OpenAPI
所需依賴項: io.ktor:ktor-server-openapi
程式碼範例: json-kotlinx-openapi
原生伺服器支援: ✖️ Ktor 支援 Kotlin/Native,並允許您在沒有額外執行時或虛擬機器的情況下執行伺服器。
Ktor 允許您根據現有的 OpenAPI 規範,為您的專案產生並提供 OpenAPI 文件。 您可以提供現有的 YAML 或 JSON 規範,或使用 Ktor Gradle plugin 的 OpenAPI 擴充功能 來產生一個。
新增依賴項
- 提供 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 頁面以查看產生文件。
