Bird
Raised Fist0
Expressframework~5 mins

req.params for route parameters in Express - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is req.params in Express?

req.params is an object in Express that holds route parameters from the URL. It lets you access dynamic parts of the route.

Click to reveal answer
beginner
How do you define a route parameter in Express?

You define a route parameter by adding a colon : before a name in the route path, like /user/:id. This means id is a variable part of the URL.

Click to reveal answer
beginner
Example: What does req.params.id contain if the route is /user/:id and the URL is /user/42?

req.params.id will contain the string "42". It captures the part of the URL that matches the :id parameter.

Click to reveal answer
intermediate
Can req.params hold multiple parameters? How?

Yes. You can define multiple parameters in the route like /user/:userId/book/:bookId. Then req.params will have both userId and bookId as keys.

Click to reveal answer
beginner
What type of data does req.params store for each parameter?

All route parameters in req.params are stored as strings, even if they look like numbers.

Click to reveal answer
How do you access the value of a route parameter named id in Express?
Areq.route.id
Breq.query.id
Creq.params.id
Dreq.body.id
What symbol is used to define a route parameter in Express routes?
A:
B#
C$
D@
If the route is /product/:productId/review/:reviewId, how do you get the review ID?
Areq.params.reviewId
Breq.query.reviewId
Creq.params.productId
Dreq.body.reviewId
What data type are route parameters in req.params?
ANumber
BObject
CBoolean
DString
Which of these URLs matches the route /user/:id?
A/user
B/user/123
C/user/123/profile
D/user?id=123
Explain how to use req.params to get dynamic values from a URL in Express.
Think about how URLs can have parts that change and how Express lets you capture those.
You got /4 concepts.
    Describe how multiple route parameters work in Express and how to access them.
    Imagine a URL with two dynamic parts, like user and book IDs.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does req.params represent in an Express route handler?
      easy
      A. An object containing query string parameters from the URL
      B. An array of middleware functions
      C. A function to send responses to the client
      D. An object containing route parameters extracted from the URL path

      Solution

      1. Step 1: Understand the role of req.params

        req.params holds key-value pairs for parameters defined in the route path, extracted from the URL.
      2. Step 2: Differentiate from other request properties

        Query parameters are accessed via req.query, not req.params. Response functions and middleware arrays are unrelated.
      3. Final Answer:

        An object containing route parameters extracted from the URL path -> Option D
      4. Quick Check:

        req.params = route parameters [OK]
      Hint: Remember: req.params gets values from URL path, not query [OK]
      Common Mistakes:
      • Confusing req.params with req.query
      • Thinking req.params is a function
      • Assuming req.params contains request body data
      2. Which of the following is the correct way to define a route with a parameter named id in Express?
      easy
      A. app.get('/user/*id', (req, res) => { ... })
      B. app.get('/user/id', (req, res) => { ... })
      C. app.get('/user/:id', (req, res) => { ... })
      D. app.get('/user/?id', (req, res) => { ... })

      Solution

      1. Step 1: Recognize route parameter syntax

        Express uses a colon : before the parameter name in the route path to define route parameters.
      2. Step 2: Evaluate each option

        app.get('/user/:id', (req, res) => { ... }) correctly uses /:id. Options A, B, and C use incorrect syntax for route parameters.
      3. Final Answer:

        app.get('/user/:id', (req, res) => { ... }) -> Option C
      4. Quick Check:

        Route params start with ':' [OK]
      Hint: Use ':' before param name in route path [OK]
      Common Mistakes:
      • Omitting the colon before parameter name
      • Using query syntax instead of route param syntax
      • Using wildcard '*' incorrectly
      3. Given the route definition app.get('/product/:productId', (req, res) => { res.send(req.params.productId); });, what will be the response when a client requests /product/12345?
      medium
      A. The string '12345'
      B. An error because productId is undefined
      C. The string '/product/12345'
      D. An empty response

      Solution

      1. Step 1: Understand route parameter extraction

        The route defines a parameter productId which captures the part of the URL after /product/.
      2. Step 2: Check what is sent in the response

        The handler sends req.params.productId, which will be the string '12345' from the URL.
      3. Final Answer:

        The string '12345' -> Option A
      4. Quick Check:

        req.params.productId = '12345' [OK]
      Hint: req.params.paramName matches URL part after ':' [OK]
      Common Mistakes:
      • Expecting full URL or path in req.params
      • Confusing req.params with req.query
      • Assuming undefined if param not accessed correctly
      4. Consider this Express route: app.get('/order/:orderId', (req, res) => { const id = req.params.id; res.send(id); }); What is the problem with this code?
      medium
      A. req.params cannot be used in GET routes
      B. The route parameter is named orderId but accessed as id, causing undefined
      C. The route path is missing a parameter
      D. res.send cannot send strings

      Solution

      1. Step 1: Compare route parameter name and access key

        The route defines parameter orderId, but the code accesses req.params.id, which does not exist.
      2. Step 2: Understand the effect of this mismatch

        Accessing req.params.id returns undefined, so res.send(id) sends 'undefined'.
      3. Final Answer:

        The route parameter is named orderId but accessed as id, causing undefined -> Option B
      4. Quick Check:

        Param name mismatch causes undefined [OK]
      Hint: Access req.params using exact route param name [OK]
      Common Mistakes:
      • Using wrong parameter name in req.params
      • Assuming req.params works like req.body
      • Ignoring case sensitivity in parameter names
      5. You want to create an Express route that accepts two parameters: category and itemId. Which code correctly defines the route and sends back a JSON object with both parameters?
      hard
      A. app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.params.category, itemId: req.params.itemId }); });
      B. app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.query.category, itemId: req.query.itemId }); });
      C. app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.params.category, itemId: req.query.itemId }); });
      D. app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.body.category, itemId: req.body.itemId }); });

      Solution

      1. Step 1: Define route with two parameters

        The route path /shop/:category/:itemId correctly defines two route parameters.
      2. Step 2: Access parameters from req.params

        Both category and itemId must be accessed from req.params to get values from the URL path.
      3. Step 3: Verify response sends JSON with both parameters

        app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.params.category, itemId: req.params.itemId }); }); sends a JSON object with both parameters from req.params. Other options incorrectly use req.query or req.body.
      4. Final Answer:

        app.get('/shop/:category/:itemId', (req, res) => { res.json({ category: req.params.category, itemId: req.params.itemId }); }); -> Option A
      5. Quick Check:

        Use req.params for route params, send JSON [OK]
      Hint: Use req.params for all route parameters in URL path [OK]
      Common Mistakes:
      • Mixing req.params with req.query or req.body
      • Not defining all parameters in route path
      • Sending plain text instead of JSON when needed
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard