Bird
Raised Fist0
Expressframework~5 mins

Why understanding res matters in Express

Choose your learning style10 modes available
Introduction

The res object in Express helps you send responses back to the user. Understanding it lets you control what the user sees after they make a request.

When you want to send a message or data back to a user after they visit a webpage.
When you need to send a file or image as a response to a user.
When you want to redirect a user to another page.
When you want to set status codes like 404 for 'Not Found' or 500 for 'Server Error'.
When you want to send JSON data from your server to a web app.
Syntax
Express
res.status(code).send(body)
res.json(object)
res.redirect(url)
res.sendFile(path)

res.status(code) sets the HTTP status code for the response.

res.send() sends a string or buffer as the response body.

Examples
Sends a 200 OK status with a simple text message.
Express
res.status(200).send('Hello World!')
Sends a JSON response with an object.
Express
res.json({ message: 'Success' })
Redirects the user to the '/home' page.
Express
res.redirect('/home')
Sends a file like an image to the user.
Express
res.sendFile('/path/to/file.jpg')
Sample Program

This Express app shows how res sends different responses: a text message, JSON data, and a redirect.

Express
import express from 'express';
const app = express();

app.get('/', (req, res) => {
  res.status(200).send('Welcome to the homepage!');
});

app.get('/json', (req, res) => {
  res.json({ greeting: 'Hello, JSON!' });
});

app.get('/redirect', (req, res) => {
  res.redirect('/');
});

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});
OutputSuccess
Important Notes

Always set the correct status code to help browsers and tools understand the response.

Use res.json() when sending data to APIs for easier parsing.

Remember to end your response with res.send(), res.json(), or similar methods to avoid hanging requests.

Summary

The res object controls what the server sends back to the user.

It can send text, JSON, files, or redirects.

Understanding res helps you build clear and useful web responses.

Practice

(1/5)
1. What is the main purpose of the res object in Express?
easy
A. To manage database connections
B. To handle incoming requests from the client
C. To send responses back to the client
D. To configure server settings

Solution

  1. Step 1: Understand the role of res in Express

    The res object represents the response that the server sends back to the client after processing a request.
  2. Step 2: Differentiate res from other objects

    The req object handles incoming requests, while res controls what is sent back, such as text, JSON, or files.
  3. Final Answer:

    To send responses back to the client -> Option C
  4. Quick Check:

    res sends responses [OK]
Hint: Remember: res = response sent back to user [OK]
Common Mistakes:
  • Confusing res with req
  • Thinking res manages server setup
  • Assuming res handles database
2. Which of the following is the correct way to send a JSON response using res in Express?
easy
A. res.json({ message: 'Hello' })
B. res.sendJSON({ message: 'Hello' })
C. res.sendJson({ message: 'Hello' })
D. res.send({ json: 'Hello' })

Solution

  1. Step 1: Recall Express method for JSON response

    Express provides the res.json() method to send JSON data properly formatted to the client.
  2. Step 2: Check syntax correctness

    Only res.json() is the correct method name; others like sendJson or sendJSON do not exist.
  3. Final Answer:

    res.json({ message: 'Hello' }) -> Option A
  4. Quick Check:

    Use res.json() for JSON [OK]
Hint: Use exact method name: json, not sendJson [OK]
Common Mistakes:
  • Using incorrect method names like sendJson
  • Confusing res.send with res.json
  • Passing wrong argument structure
3. What will be the output sent to the client when this Express handler runs?
app.get('/hello', (req, res) => {
  res.status(200).send('Welcome!');
});
medium
A. Status 404 with message 'Welcome!'
B. No response sent
C. Status 500 with empty message
D. Status 200 with message 'Welcome!'

Solution

  1. Step 1: Analyze the status code set by res.status(200)

    The code sets the HTTP status to 200, which means OK or success.
  2. Step 2: Check the message sent with res.send('Welcome!')

    The string 'Welcome!' is sent as the response body to the client.
  3. Final Answer:

    Status 200 with message 'Welcome!' -> Option D
  4. Quick Check:

    Status 200 + send message = Status 200 with message 'Welcome!' [OK]
Hint: res.status sets code; res.send sends message [OK]
Common Mistakes:
  • Assuming default status is 404
  • Thinking res.send changes status code
  • Forgetting to send a response
4. Identify the error in this Express code snippet:
app.get('/data', (req, res) => {
  res.send('Data loaded');
  res.json({ success: true });
});
medium
A. res.json should be called before res.send
B. Calling res.send and res.json in the same handler causes an error
C. res.send cannot send strings
D. No error, code works fine

Solution

  1. Step 1: Understand response methods behavior

    Once res.send() sends a response, the connection closes and no further response can be sent.
  2. Step 2: Identify the problem with multiple sends

    Calling res.json() after res.send() tries to send a second response, causing an error.
  3. Final Answer:

    Calling res.send and res.json in the same handler causes an error -> Option B
  4. Quick Check:

    Only one response per request [OK]
Hint: Send only one response per request [OK]
Common Mistakes:
  • Trying to send multiple responses
  • Assuming order of send/json fixes issue
  • Thinking res.send can't send strings
5. You want to send a file named report.pdf to the client using res. Which code snippet correctly achieves this in Express?
hard
A. res.download('report.pdf');
B. res.sendFile('report.pdf');
C. res.send('report.pdf');
D. res.json({ file: 'report.pdf' });

Solution

  1. Step 1: Understand methods to send files in Express

    res.sendFile() sends a file as response, but requires an absolute path or root option; res.download() prompts the client to download the file.
  2. Step 2: Choose method that correctly sends file for download

    res.download('report.pdf') sends the file with headers to trigger download, which is usually desired for files like PDFs.
  3. Final Answer:

    res.download('report.pdf'); -> Option A
  4. Quick Check:

    Use res.download to send files for download [OK]
Hint: Use res.download for file downloads [OK]
Common Mistakes:
  • Using res.send for files (sends text)
  • Using res.json to send file name only
  • Using res.sendFile without absolute path
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