OpenAPI
필수 의존성: io.ktor:ktor-server-openapi
코드 예시: json-kotlinx-openapi
Ktor를 사용하면 기존 OpenAPI 명세(specification)를 기반으로 프로젝트의 OpenAPI 문서를 생성하고 제공할 수 있습니다.
의존성 추가
OpenAPI 문서를 제공하려면 빌드 스크립트에
ktor-server-openapi
아티팩트를 추가해야 합니다:KotlinGroovyXML선택적으로, 코드 생성기를 사용자 정의하려면
swagger-codegen-generators
의존성을 추가하세요:KotlinGroovyXML$swagger_codegen_version
을swagger-codegen-generators
아티팩트의 필요한 버전(예:1.0.36
)으로 바꿀 수 있습니다.
OpenAPI 구성
OpenAPI 문서를 제공하려면 path
에 있는 문서와 함께 swaggerFile
에 배치된 OpenAPI 명세에서 렌더링된 GET 엔드포인트를 생성하는 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
페이지를 열어 생성된 문서를 볼 수 있습니다.