Bird
Raised Fist0
Expressframework~5 mins

res.status for status codes in Express - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does res.status() do in Express?

res.status() sets the HTTP status code for the response sent to the client. It tells the browser or client if the request was successful, failed, or something else.

Click to reveal answer
beginner
How do you send a 404 status code with a message using res.status()?

You chain res.status(404) with .send() like this: res.status(404).send('Not Found'). This sets the status and sends the message.

Click to reveal answer
beginner
Why is it important to set the correct status code in Express responses?

Correct status codes help the client understand what happened. For example, 200 means success, 404 means not found, and 500 means server error. This helps browsers and APIs handle responses properly.

Click to reveal answer
intermediate
Can you chain res.status() with other response methods? Give an example.

Yes, you can chain it with methods like .json(), .send(), or .end(). Example: res.status(201).json({ message: 'Created' }) sends a 201 status with JSON data.

Click to reveal answer
beginner
What is the default status code if you don't use res.status() in Express?

The default status code is 200, which means the request was successful.

Click to reveal answer
What does res.status(500) indicate?
ARequest was successful
BResource not found
CServer error occurred
DClient sent bad request
How do you send a 201 status code with JSON data in Express?
Ares.status(jsonData).send(201)
Bres.send(201, jsonData)
Cres.json(201, jsonData)
Dres.status(201).json(jsonData)
If you forget to use res.status(), what status code is sent by default?
A200
B500
C404
D302
Which method can you chain after res.status() to send a plain text response?
Ares.json()
Bres.send()
Cres.end()
Dres.write()
What status code should you use to indicate a resource was not found?
A404
B200
C500
D301
Explain how to use res.status() to send a 403 Forbidden response with a message.
Think about chaining methods to set status and send text.
You got /3 concepts.
    Describe why setting the correct HTTP status code in Express responses is important for clients.
    Imagine how a browser or app knows what happened after a request.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does res.status(404) do in an Express route handler?
      easy
      A. Changes the request method to GET
      B. Sends a 404 error message to the client automatically
      C. Sets the HTTP response status code to 404 (Not Found)
      D. Stops the server from running

      Solution

      1. Step 1: Understand the purpose of res.status

        res.status(code) sets the HTTP status code for the response but does not send the response itself.
      2. Step 2: Identify what 404 means

        404 is the standard HTTP status code meaning "Not Found".
      3. Final Answer:

        Sets the HTTP response status code to 404 (Not Found) -> Option C
      4. Quick Check:

        res.status(404) = sets status code 404 [OK]
      Hint: res.status sets code; use res.send or res.json to send [OK]
      Common Mistakes:
      • Thinking res.status sends the response automatically
      • Confusing status code with request method
      • Assuming res.status stops server execution
      2. Which of the following is the correct way to send a 201 status with a JSON response in Express?
      easy
      A. res.status.json(201, { message: 'Created' })
      B. res.send(201).json({ message: 'Created' })
      C. res.json(201, { message: 'Created' })
      D. res.status(201).json({ message: 'Created' })

      Solution

      1. Step 1: Recall correct chaining syntax

        In Express, res.status(code) sets the status code, then res.json(data) sends the JSON response.
      2. Step 2: Check each option's syntax

        res.status(201).json({ message: 'Created' }) correctly chains res.status(201) with res.json({ message: 'Created' }). Others misuse method order or parameters.
      3. Final Answer:

        res.status(201).json({ message: 'Created' }) -> Option D
      4. Quick Check:

        Correct chaining = res.status().json() [OK]
      Hint: Use res.status(code).json(data) to set code and send JSON [OK]
      Common Mistakes:
      • Calling res.send before res.status
      • Passing status code as first argument to res.json
      • Using res.status.json which is invalid
      3. What will the client receive when this Express handler runs?
      app.get('/test', (req, res) => {
        res.status(500);
        res.send('Server error');
      });
      medium
      A. A response with status 200 and body 'Server error'
      B. A response with status 500 and body 'Server error'
      C. A response with status 500 and empty body
      D. An error thrown by Express

      Solution

      1. Step 1: Analyze res.status and res.send usage

        res.status(500) sets the HTTP status code to 500. Then res.send('Server error') sends the response body with that status.
      2. Step 2: Determine final response

        The client receives status 500 with the text 'Server error' as the body.
      3. Final Answer:

        A response with status 500 and body 'Server error' -> Option B
      4. Quick Check:

        res.status(500) + res.send('Server error') = 500 + body [OK]
      Hint: res.status sets code; res.send sends body with that code [OK]
      Common Mistakes:
      • Assuming res.send resets status to 200
      • Thinking status 500 causes Express error automatically
      • Believing response body is empty without res.send argument
      4. Identify the error in this Express code snippet:
      app.get('/error', (req, res) => {
        res.send('Oops!');
        res.status(400);
      });
      medium
      A. res.status(400) is called after res.send, so status code is ignored
      B. res.send cannot be called without res.status first
      C. res.status must be called with a string, not a number
      D. No error, this code works correctly

      Solution

      1. Step 1: Understand response flow in Express

        Once res.send() is called, the response is sent and closed. Any code after it won't affect the response.
      2. Step 2: Analyze order of calls

        Here, res.send('Oops!') sends the response with default status 200. Then res.status(400) is called but ignored because response is already sent.
      3. Final Answer:

        res.status(400) is called after res.send, so status code is ignored -> Option A
      4. Quick Check:

        Call res.status before res.send to set status [OK]
      Hint: Always call res.status before res.send or res.json [OK]
      Common Mistakes:
      • Calling res.status after res.send expecting status change
      • Thinking res.send requires res.status first
      • Using string instead of number in res.status
      5. You want to send a 204 No Content status with no response body in Express. Which code snippet correctly does this?
      hard
      A. res.status(204).send()
      B. All of the above
      C. res.status(204).json(null)
      D. res.sendStatus(204)

      Solution

      1. Step 1: Understand 204 No Content meaning

        Status 204 means the server successfully processed the request but returns no content in the response body (Content-Length: 0).
      2. Step 2: Check each option's behavior

        res.status(204).send() sends status 204 with empty body [check].
        res.status(204).json(null) sends status 204 with JSON "null" body ✗.
        res.sendStatus(204) sends status 204 with "No Content" text body ✗.
        Only A sends no response body.
      3. Final Answer:

        res.status(204).send() -> Option A
      4. Quick Check:

        res.status(204).send() = 204 + empty body [OK]
      Hint: Use res.status(204).send() for 204 with no body [OK]
      Common Mistakes:
      • Sending body content with 204 status (should be empty)
      • Using res.status(204).json({}) which sends empty object body
      • Not sending response after setting status
      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