Bird
Raised Fist0
Expressframework~3 mins

Why GET route handling in Express? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how a few lines of code can make your server respond instantly to any URL!

The Scenario

Imagine building a website where users type a URL to see different pages, and you have to check each URL manually to decide what content to show.

The Problem

Manually checking URLs and sending responses is slow, messy, and easy to make mistakes. It's hard to keep track of all possible URLs and their responses.

The Solution

GET route handling in Express lets you define clear rules for each URL. The server automatically listens for requests and sends the right response without extra manual checks.

Before vs After
✗ Before
if (url === '/home') { sendHomePage(); } else if (url === '/about') { sendAboutPage(); }
✓ After
app.get('/home', (req, res) => res.send('Home Page'));
app.get('/about', (req, res) => res.send('About Page'));
What It Enables

This makes your server smart and organized, handling many URLs easily and responding quickly to user requests.

Real Life Example

When you visit an online store, GET routes show product pages, categories, or the homepage based on the URL you enter.

Key Takeaways

Manually checking URLs is slow and error-prone.

Express GET routes automate URL handling cleanly.

This leads to faster, clearer, and more reliable web servers.

Practice

(1/5)
1. What does the app.get() method do in an Express app?
easy
A. Starts the Express server and listens on a port
B. Defines a route to handle GET requests at a specific URL
C. Sends a POST request to a server
D. Deletes a route from the Express app

Solution

  1. Step 1: Understand the purpose of app.get()

    The app.get() method is used to define a route that listens for GET requests on a given URL path.
  2. Step 2: Compare with other methods

    Other methods like app.post() handle POST requests, and app.listen() starts the server, so they do not define GET routes.
  3. Final Answer:

    Defines a route to handle GET requests at a specific URL -> Option B
  4. Quick Check:

    app.get() defines GET routes [OK]
Hint: app.get() always sets up a GET route handler [OK]
Common Mistakes:
  • Confusing app.get() with app.listen()
  • Thinking app.get() sends requests instead of handling them
  • Mixing GET with POST methods
2. Which of the following is the correct syntax to create a GET route for the path /hello that sends "Hello World" as a response?
easy
A. app.get('/hello', (req, res) => { res.send('Hello World'); });
B. app.get('/hello', (res, req) => { res.send('Hello World'); });
C. app.get('/hello', (req, res) => { res.write('Hello World'); });
D. app.get('/hello', (req, res) => { res.sendHello('Hello World'); });

Solution

  1. Step 1: Check parameter order in callback

    The callback function parameters must be req first, then res. app.get('/hello', (res, req) => { res.send('Hello World'); }); reverses them, which is incorrect.
  2. Step 2: Verify response method usage

    The correct method to send a response string is res.send(). app.get('/hello', (req, res) => { res.write('Hello World'); }); uses res.write() which is not standard in Express, and app.get('/hello', (req, res) => { res.sendHello('Hello World'); }); uses a non-existent method res.sendHello().
  3. Final Answer:

    app.get('/hello', (req, res) => { res.send('Hello World'); }); -> Option A
  4. Quick Check:

    Correct syntax uses req, res and res.send() [OK]
Hint: Use (req, res) and res.send() to respond in GET routes [OK]
Common Mistakes:
  • Swapping req and res parameters
  • Using res.write() instead of res.send()
  • Calling non-existent response methods
3. What will be the output when a GET request is made to /user/42 with this route handler?
app.get('/user/:id', (req, res) => {
  res.send(`User ID is ${req.params.id}`);
});
medium
A. User ID is undefined
B. User ID is :id
C. Error: req.params is not defined
D. User ID is 42

Solution

  1. Step 1: Understand route parameters

    The route /user/:id captures the part after /user/ as req.params.id.
  2. Step 2: Substitute parameter in response

    When visiting /user/42, req.params.id is "42", so the response is "User ID is 42".
  3. Final Answer:

    User ID is 42 -> Option D
  4. Quick Check:

    Route params fill req.params.id correctly [OK]
Hint: Use req.params to get URL parts in routes [OK]
Common Mistakes:
  • Using req.params without defining route parameter
  • Expecting literal ':id' in output
  • Forgetting to use backticks for template strings
4. Identify the error in this GET route handler:
app.get('/data', (req, res) => {
  res.send('Data received')
  res.send('Another response');
});
medium
A. Missing semicolon after first res.send()
B. Route path should be '/data/' with trailing slash
C. Cannot call res.send() twice in the same request handler
D. req parameter is unused and causes error

Solution

  1. Step 1: Check response sending rules

    Express allows sending only one response per request. Calling res.send() twice causes an error.
  2. Step 2: Analyze other options

    Missing semicolons do not cause runtime errors here, trailing slash is optional, and unused parameters do not cause errors.
  3. Final Answer:

    Cannot call res.send() twice in the same request handler -> Option C
  4. Quick Check:

    Only one res.send() per request allowed [OK]
Hint: Send response only once per route handler [OK]
Common Mistakes:
  • Calling res.send() multiple times
  • Thinking missing semicolons cause errors
  • Confusing trailing slash necessity
5. You want to create a GET route /product/:category/:id that responds with a message like "Category: electronics, ID: 123". Which code correctly implements this?
hard
A. app.get('/product/:category/:id', (req, res) => { res.send(`Category: ${req.params.category}, ID: ${req.params.id}`); });
B. app.get('/product/:category/:id', (req, res) => { res.send('Category: req.params.category, ID: req.params.id'); });
C. app.get('/product/:category/:id', (res, req) => { res.send(`Category: ${req.params.category}, ID: ${req.params.id}`); });
D. app.get('/product/:category/:id', (req, res) => { res.send(`Category: ${req.query.category}, ID: ${req.query.id}`); });

Solution

  1. Step 1: Use correct parameter order and template literals

    The callback must have (req, res) and use backticks with ${} to insert variables. app.get('/product/:category/:id', (req, res) => { res.send(`Category: ${req.params.category}, ID: ${req.params.id}`); }); does this correctly.
  2. Step 2: Use req.params for URL parameters

    Route parameters are accessed via req.params, not req.query. app.get('/product/:category/:id', (req, res) => { res.send(`Category: ${req.query.category}, ID: ${req.query.id}`); }); incorrectly uses req.query. app.get('/product/:category/:id', (req, res) => { res.send('Category: req.params.category, ID: req.params.id'); }); uses quotes, so variables won't be evaluated. app.get('/product/:category/:id', (res, req) => { res.send(`Category: ${req.params.category}, ID: ${req.params.id}`); }); swaps parameters.
  3. Final Answer:

    app.get('/product/:category/:id', (req, res) => { res.send(`Category: ${req.params.category}, ID: ${req.params.id}`); }); -> Option A
  4. Quick Check:

    Use req.params and template literals correctly [OK]
Hint: Use req.params and backticks for dynamic route responses [OK]
Common Mistakes:
  • Swapping req and res parameters
  • Using string quotes instead of template literals
  • Using req.query instead of req.params for route params
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