Server Plugin
OpenAPI
所需依赖项: io.ktor:ktor-server-openapi
代码示例: json-kotlinx-openapi
原生服务器支持: ✖️ Ktor 支持 Kotlin/Native,允许您无需额外的运行时或虚拟机即可运行服务器。
Ktor 允许您基于现有的 OpenAPI 规范为您的项目生成并提供 OpenAPI 文档。
undefined
添加依赖项
提供 OpenAPI 文档需要在构建脚本中添加
ktor-server-openapi
artifact:KotlinGroovyXML可选地,如果您想自定义一个代码生成器,请添加
swagger-codegen-generators
依赖项:KotlinGroovyXML您可以将
$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
页面以查看生成的文档。