OpenAPI
必要な依存関係: io.ktor:ktor-server-openapi
コード例: json-kotlinx-openapi
Ktorでは、既存のOpenAPI仕様に基づいて、プロジェクトのOpenAPIドキュメントを生成し提供できます。
undefined
依存関係の追加
OpenAPIドキュメントを提供するには、ビルドスクリプトに
ktor-server-openapi
アーティファクトを追加する必要があります:KotlinGroovyXMLオプションで、コードジェネレーターをカスタマイズしたい場合は、
swagger-codegen-generators
依存関係を追加します:KotlinGroovyXML$swagger_codegen_version
は、必要なswagger-codegen-generators
アーティファクトのバージョンに置き換えることができます。例:1.0.36
。
OpenAPIの設定
OpenAPIドキュメントを提供するには、swaggerFile
に配置されたOpenAPI仕様からレンダリングされたドキュメントを含むGET
エンドポイントをpath
に作成するopenAPIメソッドを呼び出す必要があります:
import io.ktor.server.plugins.openapi.*
// ...
routing {
openAPI(path="openapi", swaggerFile = "openapi/documentation.yaml")
}
このメソッドは、アプリケーションリソース内でOpenAPI仕様を検索しようとします。 それ以外の場合は、java.io.File
を使用してファイルシステムからOpenAPI仕様を読み取ろうとします。
デフォルトでは、ドキュメントはStaticHtml2Codegen
を使用して生成されます。 openAPI
ブロック内で生成設定をカスタマイズできます:
routing {
openAPI(path="openapi", swaggerFile = "openapi/documentation.yaml") {
codegen = StaticHtmlCodegen()
}
}
これでアプリケーションを実行し、/openapi
ページを開いて生成されたドキュメントを確認できます。