📖 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
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.
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.
Final Answer:
To communicate the outcome of a server request -> Option B
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
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().
Step 2: Match status code and message
404 means 'Not Found', so response.status(404).send('Not Found') is correct syntax.
Final Answer:
response.status(404).send('Not Found') -> Option A
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
Step 1: Analyze the condition when user is not found
If userFound is false, the else block runs, sending status 404.
Step 2: Identify the status code sent in else block
The else block uses res.status(404), which means 'Not Found'.
Final Answer:
404 -> Option C
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
Step 1: Understand sendStatus behavior
sendStatus(201) sends the status and ends the response immediately, so chaining .json() after it causes an error.
Step 2: Correct way to send status with JSON
Use res.status(201).json(...) to set status and send JSON in one response.
Final Answer:
sendStatus ends response; use res.status(201).json(...) instead -> Option D
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
Step 1: Understand 204 status meaning
204 means 'No Content', so the response must not include a body.
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.
Final Answer:
res.status(204).send(); -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.