[kotlin] 쿼리 파라미터 사용하기

코틀린에서는 HTTP 요청을 보낼 때 쿼리 파라미터를 사용할 수 있습니다. 쿼리 파라미터는 URL의 끝에 ? 뒤에 이어지는 키와 값 쌍으로 이루어진 매개변수입니다.

쿼리 파라미터 생성

쿼리 파라미터를 만들기 위해서는 URL클래스에서 parameters 속성을 사용할 수 있습니다. 다음은 쿼리 파라미터를 생성하는 간단한 예제입니다.

import java.net.URL

fun main() {
    val baseURL = "https://example.com/search"
    val params = mapOf("q" to "kotlin", "page" to "1")
    val urlWithParams = URL(baseURL).toString() + "?" + params.map {(k, v) -> "$k=$v"}.joinToString("&")
    println(urlWithParams)
}

위 예제에서 mapOf 함수를 사용하여 쿼리 파라미터를 만들고, URL 클래스를 사용하여 기본 URL과 함께 이를 합칩니다.

쿼리 파라미터 파싱

반대로, 쿼리 파라미터 값을 파싱하는 방법도 확인할 수 있습니다.

import java.net.URL

fun main() {
    val urlString = "https://example.com/search?q=kotlin&page=1"
    val url = URL(urlString)
    val params = url.query?.split("&")?.map {
        val (key, value) = it.split("=")
        key to value
    }?.toMap()
    println(params)
}

위 예제에서는 URL 클래스를 사용하여 URL문자열을 파싱하고 split, map, toMap을 사용하여 파라미터를 추출합니다.

결론

코틀린에서는 URL 클래스를 통해 간단하게 쿼리 파라미터를 생성하고 파싱할 수 있습니다. 이를 통해 HTTP 요청을 보낼 때 필요한 파라미터를 쉽게 다룰 수 있습니다.

더 자세한 내용은 Kotlin - Query Parameters using URL class 를 참고하세요.