RootResource

abstract class RootResource(val slug: String) : Resource, Addressed(source)

The root resource of an API.

The root resource is a special kind of StaticResource that doesn't have a parent.

It is expected that users of the library use this class to define the root of their API:

object Api : RootResource("v1") {
object Users : StaticResource<Api>("/users", parent = Api)
object Posts : StaticResource<Api>("/posts", parent = Api)
}

Constructors

Link copied to clipboard
constructor(slug: String)

Creates a new RootResource. The passed slug should be used to differentiate between multiple APIs deployed on the same server. For example, "v1" and "v2". To select the exact URL used by the server, client should use the DefaultRequest plugin to specify a base URL.

Properties

Link copied to clipboard

Returns resources that are direct children of the current resource.

Link copied to clipboard

Returns all endpoints that are declared on this resource.

Link copied to clipboard

Returns all endpoints that are declared on this resource or any of its children.

Link copied to clipboard

The complete URL of this resource, starting from the RootResource, to this resource.

Link copied to clipboard

Returns the hierarchy of this resource: following the parent chain.

Link copied to clipboard
override val parent: Nothing?

The parent of this resource. Since RootResource cannot have a parent, always returns null.

Link copied to clipboard
open override val path: Path
Link copied to clipboard

The URL segment relating to this specific resource.