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