Bird
Raised Fist0
Rest APIprogramming~10 mins

Why status codes communicate outcomes in Rest API - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to return a successful HTTP status code.

Rest API
return Response(status=[1])
Drag options to blanks, or click blank then click option'
A200
B404
C500
D302
Attempts:
3 left
💡 Hint
Common Mistakes
Using 404 or 500 which mean errors.
2fill in blank
medium

Complete the code to return a 'Not Found' status code.

Rest API
return Response(status=[1])
Drag options to blanks, or click blank then click option'
A404
B201
C400
D503
Attempts:
3 left
💡 Hint
Common Mistakes
Using 400 which means bad request, not not found.
3fill in blank
hard

Fix the error in the code to return a server error status code.

Rest API
return Response(status=[1])
Drag options to blanks, or click blank then click option'
A200
B404
C500
D301
Attempts:
3 left
💡 Hint
Common Mistakes
Using 404 which means not found, not server error.
4fill in blank
hard

Fill both blanks to return a redirect status code and the new location.

Rest API
return Response(status=[1], headers={'Location': [2])
Drag options to blanks, or click blank then click option'
A302
B'/new-page'
C'/home'
D404
Attempts:
3 left
💡 Hint
Common Mistakes
Using 404 as status code for redirect.
5fill in blank
hard

Fill all three blanks to return a JSON response with a success status and message.

Rest API
return Response(json=[1], status=[2], headers=[3])
Drag options to blanks, or click blank then click option'
A{'message': 'Success'}
B200
C{}
D{'Content-Type': 'application/json'}
Attempts:
3 left
💡 Hint
Common Mistakes
Leaving headers empty or missing content type.

Practice

(1/5)
1. What is the main purpose of HTTP status codes in REST APIs?
easy
A. To style the webpage content
B. To communicate the outcome of a server request
C. To store user data on the server
D. To encrypt the data sent between client and server

Solution

  1. Step 1: Understand the role of status codes

    Status codes are 3-digit numbers sent by the server to tell the client if the request was successful or if there was an error.
  2. Step 2: Identify the correct purpose

    They do not style content, store data, or encrypt data; their main job is to communicate the outcome of the request.
  3. Final Answer:

    To communicate the outcome of a server request -> Option B
  4. Quick Check:

    Status codes = communicate outcome [OK]
Hint: Status codes show if request worked or failed [OK]
Common Mistakes:
  • Thinking status codes style pages
  • Confusing status codes with data storage
  • Assuming status codes encrypt data
2. Which of the following is the correct syntax to send a 404 status code in a REST API response?
easy
A. response.status(404).send('Not Found')
B. response.code(404).send('Not Found')
C. response.sendStatus(200)
D. response.statusCode(500).send('Error')

Solution

  1. Step 1: Recall correct method to set status code

    In many REST frameworks, the method to set status code is status(), not code() or statusCode().
  2. Step 2: Match status code and message

    404 means 'Not Found', so response.status(404).send('Not Found') is correct syntax.
  3. Final Answer:

    response.status(404).send('Not Found') -> Option A
  4. Quick Check:

    Use status() to set code [OK]
Hint: Use response.status(code) to set HTTP status [OK]
Common Mistakes:
  • Using response.code() instead of response.status()
  • Sending wrong status code for error
  • Mixing status code and message methods
3. Consider this code snippet in a REST API handler:
if (userFound) {
  res.status(200).json({ message: 'User found' });
} else {
  res.status(404).json({ error: 'User not found' });
}

What will be the HTTP status code if the user is not found?
medium
A. 500
B. 200
C. 404
D. 400

Solution

  1. Step 1: Analyze the condition when user is not found

    If userFound is false, the else block runs, sending status 404.
  2. Step 2: Identify the status code sent in else block

    The else block uses res.status(404), which means 'Not Found'.
  3. Final Answer:

    404 -> Option C
  4. Quick Check:

    User missing = 404 status [OK]
Hint: 404 means resource not found [OK]
Common Mistakes:
  • Confusing 404 with 200 success
  • Assuming 500 server error instead
  • Mixing 400 bad request with 404
4. This REST API code tries to send a 201 status but has a bug:
res.sendStatus(201).json({ message: 'Created' });

What is the error and how to fix it?
medium
A. Change 201 to 200 to fix the bug
B. Use res.send(201).json(...) to fix it
C. No error; code works fine
D. sendStatus ends response; use res.status(201).json(...) instead

Solution

  1. Step 1: Understand sendStatus behavior

    sendStatus(201) sends the status and ends the response immediately, so chaining .json() after it causes an error.
  2. Step 2: Correct way to send status with JSON

    Use res.status(201).json(...) to set status and send JSON in one response.
  3. Final Answer:

    sendStatus ends response; use res.status(201).json(...) instead -> Option D
  4. Quick Check:

    sendStatus ends response; use status() + json() [OK]
Hint: sendStatus ends response; use status() before json() [OK]
Common Mistakes:
  • Chaining json() after sendStatus()
  • Using send(201) instead of status(201)
  • Changing status code instead of fixing method
5. You want your REST API to return a 204 status code when a DELETE request succeeds but with no content in the response body. Which code snippet correctly implements this?
hard
A. res.status(204).send();
B. res.status(204).json({ message: 'Deleted' });
C. res.sendStatus(204).json({ message: 'Deleted' });
D. res.status(200).send('Deleted');

Solution

  1. Step 1: Understand 204 status meaning

    204 means 'No Content', so the response must not include a body.
  2. Step 2: Choose code that sends 204 with no body

    res.status(204).send(); sends status 204 with empty body, which is correct. Sending JSON or message body breaks 204 rules.
  3. Final Answer:

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

    204 = no content, so send empty response [OK]
Hint: 204 means no content; send empty response [OK]
Common Mistakes:
  • Sending JSON body with 204 status
  • Using 200 instead of 204 for delete success
  • Chaining json() after sendStatus(204)
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