[kotlin] Ktor Locations 사용 예시
Ktor에서는 HTTP 경로의 다양한 요청을 처리하기 위해 Locations
피처를 제공합니다. 이를 통해 경로의 일부를 Kotlin 데이터 클래스와 매핑하여 경로 매개변수를 쉽게 추출하고 검증할 수 있습니다.
아래는 Ktor Locations의 기본 사용법을 보여주는 예시입니다.
1. 의존성 추가
먼저, build.gradle.kts
또는 build.gradle
파일에 Ktor Locations의 의존성을 추가합니다.
dependencies {
implementation("io.ktor:ktor-locations:$ktor_version")
}
2. 위치 매핑
다음으로, 요청 경로의 일부를 데이터 클래스와 매핑합니다. 예를 들어, /user/{userId}
경로에서 userId
를 추출하고 검증하기 위해 다음과 같이 Location
을 정의할 수 있습니다.
data class UserLocation(val userId: Int) {
init {
require(userId > 0) { "userId must be a positive integer" }
}
}
3. 라우팅 설정
이제, UserLocation
을 사용하여 요청을 처리하는 라우팅을 설정합니다.
routing {
location<UserLocation> {
handle { location ->
val userId = location.userId
// 사용자 ID를 사용하여 요청 처리
// ...
}
}
}
위의 예시에서는 UserLocation
에 정의된 userId
매개변수를 사용하여 요청을 처리합니다.
이를 통해 원하는 경로의 매개변수를 쉽게 추출하고 검증할 수 있으며, 경로의 다양한 요청을 처리하기 위해 강력한 도구를 제공합니다.
더 많은 정보는 Ktor 공식 문서를 참고하세요.
위 예시는 Ktor 1.6.9 버전 기준으로 작성되었습니다.