[kotlin] Ktor Location 라이브러리를 이용한 쿼리 파라미터 처리
Kotlin의 Ktor 프레임워크에서는 URL의 쿼리 파라미터를 처리하기 위해 Location
라이브러리를 제공합니다. 이 라이브러리를 사용하면 간단하고 안전하게 쿼리 파라미터를 다룰 수 있습니다.
Ktor 및 Location 라이브러리 가져오기
먼저, build.gradle.kts
파일에 다음 의존성을 추가하여 Ktor 및 Location 라이브러리를 가져옵니다.
dependencies {
implementation("io.ktor:ktor-server-core:1.6.5")
implementation("io.ktor:ktor-server-netty:1.6.5")
implementation("io.ktor:ktor-locations:1.6.5")
}
Location 라이브러리를 사용한 쿼리 파라미터 처리
다음으로, Ktor의 ApplicationCall
을 사용하여 요청의 쿼리 파라미터를 쉽게 다룰 수 있습니다. 예를 들어, id
라는 쿼리 파라미터를 가져와 보여주는 간단한 예제를 살펴보겠습니다.
import io.ktor.application.*
import io.ktor.http.*
import io.ktor.locations.*
import io.ktor.response.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
@KtorExperimentalLocationsAPI
@Location("/user")
class UserLocation {
@Location("/{id}")
data class UserId(val id: Int)
}
fun main() {
embeddedServer(Netty, port = 8080) {
install(Locations)
routing {
get<UserLocation.UserId> { (id) ->
call.respondText("User id is $id", contentType = ContentType.Text.Plain)
}
}
}.start(wait = true)
}
위의 예제에서는 UserLocation
클래스를 정의하여 /user
경로에 접근하고, UserId
클래스를 정의하여 id
쿼리 파라미터를 가져옵니다. 그리고 이를 통해 해당 id에 해당하는 사용자 정보를 반환합니다.
이제, Ktor Location 라이브러리를 사용하여 간단하게 쿼리 파라미터를 처리할 수 있는 방법을 알아보았습니다.
더 자세한 내용은 Ktor 공식 문서를 참고하세요.