Bird
Raised Fist0
Rest APIprogramming~15 mins

Why status codes communicate outcomes in Rest API - See It in Action

Choose your learning style10 modes available
Why Status Codes Communicate Outcomes
📖 Scenario: You are building a simple web API that returns different status codes to show if a request was successful or if there was an error. Status codes help the client understand what happened after they asked for something.
🎯 Goal: Create a small program that simulates API responses with status codes and messages. You will set up data for responses, configure a status code to check, write logic to pick the right message based on the code, and finally print the result.
📋 What You'll Learn
Create a dictionary called responses with exact status codes as keys and their messages as values
Create a variable called status_code and set it to an exact integer value
Write code to get the message from responses using status_code
Print the message exactly as retrieved from the dictionary
💡 Why This Matters
🌍 Real World
APIs use status codes to tell clients if their request worked or if there was a problem. This helps apps and websites handle responses correctly.
💼 Career
Understanding status codes is important for backend developers, API designers, and anyone working with web services to communicate clearly with clients.
Progress0 / 4 steps
1
Create the API response messages dictionary
Create a dictionary called responses with these exact entries: 200: 'OK', 404: 'Not Found', 500: 'Internal Server Error'
Rest API
Hint

Use curly braces {} to create a dictionary with numbers as keys and strings as values.

2
Set the status code to check
Create a variable called status_code and set it to the integer 404
Rest API
Hint

Just assign the number 404 to the variable status_code.

3
Get the message for the status code
Create a variable called message and set it to the value from responses using the key status_code
Rest API
Hint

Use square brackets [] to get the value from the dictionary using the key.

4
Print the message
Write a print statement to display the value of the variable message
Rest API
Hint

Use print(message) to show the message on the screen.

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