Skip to content

NextJS:route.js

Route Handlers allow you to create custom request handlers for a given route using the Web Request and Response APIs.

Synopsis

export async function GET(request: Request) {}

export async function HEAD(request: Request) {}

export async function POST(request: Request) {}

export async function PUT(request: Request) {}

export async function DELETE(request: Request) {}

export async function PATCH(request: Request) {}

// If `OPTIONS` is not defined, Next.js will automatically implement `OPTIONS` and  set the appropriate Response `Allow` header depending on the other methods defined in the route handler.
export async function OPTIONS(request: Request) {}

Parameters

request (optional)

The request object is a NextRequest object, which is an extension of the Web Request API. NextRequest gives you further control over the incoming request, including easily accessing cookies and an extended, parsed, URL object nextUrl.

context (optional)

export async function GET(request, context: { params }) {
  const team = params.team // '1'
}

Currently, the only value of context is params, which is an object containing the dynamic route parameters for the current route.

Examples:

app/dashboard/[team]/route.js
URL is /dashboard/1
Params is { team: '1' }
app/shop/[tag]/[item]/route.js
URL is /shop/1/2
Params is { tag: '1', item: '2' }
app/blog/[...slug]/route.js
URL is /blog/1/2
Params is { slug: ['1', '2'] }

See also

Favorite site