Skip to content

Multiplatform Ktor schema declarationopensavvy.spine.apiResolvedResource

ResolvedResource

A resolved Resource.

The Resource class represents the declaration of a resource. For example, the /api/users/{user} is not a 'real' resource. This class, ResolvedResource, represents 'real' resources: '/api/users/111' and '/api/users/222' are possible values of this class.

To instantiate this class, specify the full path from the root, adding necessary runtime information where necessary. For example:

object Root : RootResource("api") {
    object Users : StaticResource<Root>("users", Root) {
        object User : DynamicResource<Users>("user", User)
    }
}

// The root can be resolved with no further information, since it must be static:
println(Root.resolved)

// Static routes can be resolved simply by specifying their path:
println(Root / Users)

// Dynamic routes require specifying the dynamic segment during resolution:
println(Root / Users / User("123456789"))

Properties

path

open override val path: Path

resource

val resource: R

Functions

div

Resolves an endpoint declared in a resolved resource.

Resolves the static child resource under this ResolvedResource.

Resolves the dynamic child resource under this ResolvedResource by binding its identifier.

toString

open override fun toString(): String