Skip to main content

Dynamic Route Parameters

Dynamic route parameters allow you to define flexible routes that can handle different inputs dynamically. This is useful when creating routes that depend on user-provided values, such as IDs or slugs.

Single Parameters

A single dynamic parameter is represented using square brackets ([]). The value in the brackets acts as a placeholder and is replaced with actual data from the request.

routes/
├── users/
│ ├── [id].ts → GET /users/:id
└── products/
├── [slug].ts → GET /products/:slug
routes/users/[id].ts
export const get = (req, res) => {
const { id } = req.params;
res.json({ userId: id });
};

Multiple Parameters

You can define multiple parameters within the same route using multiple bracketed values.

routes/
└── orders/
├── [userId]/[orderId].ts → GET /orders/:userId/:orderId
routes/orders/[userId]/[orderId].ts
export const get = (req, res) => {
const { userId, orderId } = req.params;
res.json({ userId, orderId });
};

Summary

FeatureSyntaxExample RouteExample URL
Single Parameter[param]/users/[id]/users/123
Multiple Parameters[param1]/[param2]/orders/[userId]/[orderId]/orders/45/789

These dynamic routes enable flexible and scalable routing structures, making API development more streamlined.