remix/router · Interface

View Source

Router

Summary

A router maps incoming requests to request handlers.

Signature

interface Router<context> {
  [routeBuilderContext]?: context
  delete: VerbMethod<'DELETE', context>
  get: VerbMethod<'GET', context>
  head: VerbMethod<'HEAD', context>
  options: VerbMethod<'OPTIONS', context>
  patch: VerbMethod<'PATCH', context>
  post: VerbMethod<'POST', context>
  put: VerbMethod<'PUT', context>
  fetch(input: string | Request | URL, init: RequestInit): Promise<Response>
  map<
    target extends MapTarget,
    handlerContext extends AnyContext,
    middleware extends readonly AnyMiddleware[],
  >(
    target: target,
    handler: MapHandler<target, handlerContext, middleware> &
      ContextCompatibility<context, handlerContext, middleware>,
  ): void
  mount<pattern extends string>(
    prefix: pattern | RoutePattern<pattern>,
    installer: RouteInstaller<ContextWithParams<context, MatchParams<pattern>>>,
  ): void
  route<
    method extends RequestMethod | 'ANY',
    pattern extends string,
    actionContext extends AnyContext,
    middleware extends readonly AnyMiddleware[],
  >(
    method: method,
    pattern: RouteTarget<pattern, method>,
    action: Action<RouteTarget<pattern, method>, actionContext, middleware> &
      ContextCompatibility<context, actionContext, middleware>,
  ): void
}

Properties

[routeBuilderContext]

delete

Shorthand for registering a DELETE route.

get

Shorthand for registering a GET route.

Shorthand for registering a HEAD route.

options

Shorthand for registering an OPTIONS route.

patch

Shorthand for registering a PATCH route.

post

Shorthand for registering a POST route.

put

Shorthand for registering a PUT route.

Methods

fetch(input: string | Request | URL, init: RequestInit): Promise<Response>

Fetch a response from the router.

Parameters

input

The request input to fetch

init

The request init options

map<target extends MapTarget, handlerContext extends AnyContext, middleware extends readonly AnyMiddleware[]>(target: target, handler: MapHandler<target, handlerContext, middleware> & ContextCompatibility<context, handlerContext, middleware>): void

Maps either a single route target to an action or a route map to a controller.

mount<pattern extends string>(prefix: pattern | RoutePattern<pattern>, installer: RouteInstaller<ContextWithParams<context, MatchParams<pattern>>>): void

Mounts a route installer at a route pattern prefix.

route<method extends RequestMethod | "ANY", pattern extends string, actionContext extends AnyContext, middleware extends readonly AnyMiddleware[]>(method: method, pattern: RouteTarget<pattern, method>, action: Action<RouteTarget<pattern, method>, actionContext, middleware> & ContextCompatibility<context, actionContext, middleware>): void

Registers a handler for a specific request method and route target.

Accepts either a plain request handler or an action object with optional action middleware.