Bird
Raised Fist0
Node.jsframework~5 mins

Response methods and status codes in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the res.status(code) method do in Node.js?
It sets the HTTP status code of the response that the server sends back to the client. For example, res.status(404) sets the status to 'Not Found'.
Click to reveal answer
beginner
Name a common HTTP status code for a successful GET request.
The status code 200 means 'OK', which indicates the request was successful and the server is sending the requested data.
Click to reveal answer
beginner
What is the purpose of res.send() in Node.js?
It sends the response body to the client and ends the response process. You can send strings, objects, or buffers with it.
Click to reveal answer
intermediate
How do you send a JSON response with a status code of 201 in Node.js?
Use res.status(201).json(data). This sets the status to 'Created' and sends the JSON data to the client.
Click to reveal answer
beginner
What status code indicates that the client made a bad request?
Status code 400 means 'Bad Request'. It tells the client that the server could not understand the request due to invalid syntax.
Click to reveal answer
Which method sets the HTTP status code in a Node.js response?
Ares.json()
Bres.status()
Cres.send()
Dres.write()
What status code means 'Not Found'?
A404
B200
C500
D301
How do you send a JSON response in Node.js?
Ares.json()
Bres.writeJson()
Cres.send()
Dres.sendJson()
Which status code indicates a successful resource creation?
A500
B400
C403
D201
What does res.send() do?
AOnly sends JSON data
BSets the status code
CSends the response body and ends the response
DOnly sends headers
Explain how to send a response with a custom status code and JSON data in Node.js.
Think about chaining methods to set status and send JSON.
You got /4 concepts.
    List three common HTTP status codes and what they mean when used in a Node.js response.
    Focus on success, client error, and resource not found.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the res.status(404) method do in a Node.js response?
      easy
      A. Redirects the client to a page named '404'
      B. Sends the response body with the text '404'
      C. Sets the HTTP status code to 404 (Not Found) for the response
      D. Ends the response without sending any data

      Solution

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

        This method sets the HTTP status code that tells the browser what happened with the request.
      2. Step 2: Identify the meaning of 404 status code

        Status code 404 means 'Not Found', indicating the requested resource does not exist.
      3. Final Answer:

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

        Status code 404 = Not Found [OK]
      Hint: Status codes tell browser what happened; 404 means not found [OK]
      Common Mistakes:
      • Thinking res.status sends the response body
      • Confusing status code with redirect
      • Assuming res.status ends the response
      2. Which of the following is the correct way to send a JSON response with status 200 in Express?
      easy
      A. res.status(200).json({ message: 'OK' })
      B. res.send(200).json({ message: 'OK' })
      C. res.json(200, { message: 'OK' })
      D. res.status(200).sendJson({ message: 'OK' })

      Solution

      1. Step 1: Recall Express response chaining

        Use res.status(code) to set status, then call json() to send JSON data.
      2. Step 2: Check each option's syntax

        res.status(200).json({ message: 'OK' }) correctly chains status(200) and json(). Others misuse method order or names.
      3. Final Answer:

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

        Set status then send JSON = res.status(200).json({ message: 'OK' }) [OK]
      Hint: Set status first, then call json() to send data [OK]
      Common Mistakes:
      • Calling send before status
      • Using non-existent sendJson method
      • Passing status code inside json()
      3. What will the following Express code send to the client?
      app.get('/test', (req, res) => {
        res.status(201).send('Created');
      });
      medium
      A. A response with status 200 and body 'Created'
      B. A response with status 201 and body 'Created'
      C. A response with status 201 and no body
      D. An error because send() cannot follow status()

      Solution

      1. Step 1: Understand status and send chaining

        res.status(201) sets status code 201 (Created), then send('Created') sends that text as the response body.
      2. Step 2: Confirm behavior of Express response

        Express allows chaining status and send; the response will have status 201 and body 'Created'.
      3. Final Answer:

        A response with status 201 and body 'Created' -> Option B
      4. Quick Check:

        Status 201 + send text = A response with status 201 and body 'Created' [OK]
      Hint: status sets code, send sends body; chaining works [OK]
      Common Mistakes:
      • Assuming default status 200 is sent
      • Thinking send() clears status
      • Believing chaining status and send causes error
      4. Identify the error in this Express code snippet:
      app.get('/redirect', (req, res) => {
        res.send('Redirecting...');
        res.redirect('/new-url');
      });
      medium
      A. Calling res.redirect after res.send causes an error
      B. res.redirect should be called before res.send
      C. res.send cannot send strings, only JSON
      D. No error; this code works fine

      Solution

      1. Step 1: Understand response flow in Express

        Once res.send() is called, the response is sent and closed.
      2. Step 2: Check order of methods

        Calling res.redirect() after res.send() tries to send headers again, causing an error.
      3. Final Answer:

        Calling res.redirect after res.send causes an error -> Option A
      4. Quick Check:

        Send ends response; redirect after send fails [OK]
      Hint: Send or redirect ends response; don't call both [OK]
      Common Mistakes:
      • Thinking order doesn't matter
      • Believing send only works with JSON
      • Assuming no error on multiple sends
      5. You want to send a JSON response with status 400 and a message 'Invalid input'. Which code correctly does this in Express?
      hard
      A. res.json(400, { error: 'Invalid input' })
      B. res.sendStatus(400).json({ error: 'Invalid input' })
      C. res.status(400).send('Invalid input')
      D. res.status(400).json({ error: 'Invalid input' })

      Solution

      1. Step 1: Set the status code correctly

        Use res.status(400) to set the HTTP status to 400 (Bad Request).
      2. Step 2: Send JSON response

        Use json() to send the JSON object with the error message.
      3. Step 3: Check incorrect options

        res.json(400, { error: 'Invalid input' }) uses wrong method signature (sends 400 as JSON body with status 200); res.status(400).send('Invalid input') sends plain text string (Content-Type text/html) instead of JSON; res.sendStatus(400).json({ error: 'Invalid input' }) ends response with sendStatus before json.
      4. Final Answer:

        res.status(400).json({ error: 'Invalid input' }) -> Option D
      5. Quick Check:

        Status then json() sends JSON with code [OK]
      Hint: Use status() then json() to send JSON with status [OK]
      Common Mistakes:
      • Passing status code inside json()
      • Using send instead of json for JSON data
      • Calling sendStatus before json