[kotlin] Ktor Locations URL 작성 규칙

목차

Ktor Locations

Ktor Locations는 Ktor 프레임워크에서 URI를 다루는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 간편하고 안전하게 URL을 다룰 수 있으며, 쿼리 매개변수 및 경로 매개변수를 다루기 위한 유연한 방법을 제공합니다.

URL 작성 규칙

Ktor Locations를 사용하여 URL을 작성할 때는 다음 규칙에 따라야 합니다:

  1. 루트 경로: @Location 어노테이션을 사용하여 루트 경로를 정의합니다.

    @Location("/users")
    class UsersLocation
    
  2. 경로 매개변수: @Location 클래스 내에서 경로 매개변수를 지정할 수 있습니다. 경로 매개변수는 @ 기호로 시작하며 중괄호로 둘러싸인 이름을 사용합니다.

    @Location("/users/{id}")
    class UserLocation(val id: Int)
    
  3. 쿼리 매개변수: 쿼리 매개변수는 @ 기호로 시작하며 지정된 매개변수의 유형과 이름을 가집니다.

    @Location("/search")
    class SearchLocation(val query: String, val page: Int)
    
  4. 보조 생성자: 매개변수를 받는 보조 생성자를 추가하여 값을 설정할 수 있습니다.

    @Location("/users/{id}")
    class UserLocation {
        constructor(id: Int) : this()
    }
    

예시

다음은 Ktor Locations를 사용하여 URL을 작성하는 예시입니다:

val userLocation = call.locations.resolve(UserLocation::class, id = 123)
val searchLocation = call.locations.resolve(SearchLocation::class, query = "ktor", page = 1)

참고 자료