Introduction to Route and Query Parameters

Welcome to today's Express.js lesson about Route and Query Parameters. Both play pivotal roles in handling HTTP requests in web applications. Imagine sending a letter; the street address (Route Parameter) is essential, while "Attn: Tim" (Query Parameter) is optional. Now, let's dive into these exciting terms.

What are Route and Query Parameters?

In web requests, route parameters come directly in the URL, serving as "placeholders" for actual values — they guide the requests, much like a GPS guiding a vehicle. On the flip side, query parameters send extra, optional information. They come after a ? in a key=value format.

'http://website.com/users/123/photos?year=2021'

In the above URL, 123 and photos denote route parameters, while year=2021 implies a query parameter.

Adding and Using Route Parameters

In Express.js, we create Route Parameters in the path of the route using a colon :. Use req.params to fetch them in the route handler function:

const express = require('express');
const app = express();

// Using 'userid' as the route parameter
app.get('/users/:userid', function(req, res) {
  // Fetch the 'userid' parameter from req.params object
  // and send it in the response
  res.send("The user id is: " + req.params.userid);
});

In this example, /users/123 would output The user id is: 123.

Adding and Using Query Parameters

Query parameters are added after a ?. To access them, use req.query.

const express = require('express');
const app = express();

// Respond with the query parameter 'q'
app.get('/search', function(req, res) {
  // Fetch the 'q' parameter from req.query object
  // and send it in the response
  res.send("Search results for: " + req.query.q);
});

A request to /search?q=coding will give Search results for: coding.

Route Parameters vs Query Parameters

Route parameters are the must-have data; query parameters are the good-to-have bits. Route parameters are excellent for identifying data like IDs, and query parameters work well for optional user queries or preferences.

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal