Skip to main content

Class: abstract Route<Options>

Since

1.0.0

Examples

// hello.get.ts
import { Route } from '@sapphire/plugin-api';

export class MyRoute extends Route {
public run(request: Route.Request, response: Route.Response) {
return response.json({ message: 'Hello, World!' });
}
}
$ curl http://localhost:4000/hello
{"message":"Hello, World!"}
// echo.post.ts
import { Route } from '@sapphire/plugin-api';

export class MyRoute extends Route {
public run(request: Route.Request, response: Route.Response) {
return response.json(request.params);
}
}
$ curl -X POST -H "Content-Type: application/json" -d '{"hello":"world"}' http://localhost:4000/echo
{"hello":"world"}

Extends

  • Piece<Options, "routes">

Type Parameters

Type ParameterDefault type
Options extends OptionsOptions

Constructors

new Route()

new Route<Options>(context: LoaderContext, options: Options): Route<Options>

Parameters

ParameterType
contextLoaderContext
optionsOptions

Returns

Route<Options>

Overrides

Piece<Options, 'routes'>.constructor

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:67

Properties

acceptedContentMimeTypes

readonly acceptedContentMimeTypes: null | readonly (`message/${string}` | `audio/${string}` | `video/${string}` | `image/${string}` | `text/${string}` | `application/${string}` | `multipart/${string}` | `X-${string}/${string}`)[]

The accepted content types.

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:55


maximumBodyLength

readonly maximumBodyLength: number

(RFC 7230 3.3.2) The maximum decimal number of octets.

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:50


methods

readonly methods: ReadonlySet<"ACL" | "BIND" | "CHECKOUT" | "CONNECT" | "COPY" | "DELETE" | "GET" | "HEAD" | "LINK" | "LOCK" | "M-SEARCH" | "MERGE" | "MKACTIVITY" | "MKCALENDAR" | "MKCOL" | "MOVE" | "NOTIFY" | "OPTIONS" | "PATCH" | "POST" | "PROPFIND" | "PROPPATCH" | "PURGE" | "PUT" | "REBIND" | "REPORT" | "SEARCH" | "SOURCE" | "SUBSCRIBE" | "TRACE" | "UNBIND" | "UNLINK" | "UNLOCK" | "UNSUBSCRIBE">

The methods this route accepts.

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:65


path

readonly path: readonly string[]

The path this route represents.

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:60

Methods

run()

abstract run(request: ApiRequest, response: Response): unknown

Parameters

ParameterType
requestApiRequest
responseResponse

Returns

unknown

Defined in

projects/plugins/packages/api/src/lib/structures/Route.ts:90