0
0
Rest APIprogramming~30 mins

Graceful degradation in Rest API - Mini Project: Build & Apply

Choose your learning style9 modes available
Graceful Degradation in REST API
📖 Scenario: You are building a simple REST API for a weather service. Sometimes, the detailed weather data might not be available due to external service issues. You want your API to still respond with basic information instead of failing completely.
🎯 Goal: Create a REST API endpoint that tries to return detailed weather data. If detailed data is unavailable, it should gracefully degrade and return basic weather data instead.
📋 What You'll Learn
Create a dictionary called weather_data with keys 'temperature', 'humidity', and 'detailed_forecast' with exact values.
Create a boolean variable called is_detailed_available to simulate availability of detailed data.
Write a function called get_weather() that returns detailed data if available, otherwise returns basic data.
Print the result of calling get_weather().
💡 Why This Matters
🌍 Real World
APIs often depend on external services that may fail or be slow. Graceful degradation helps keep the API responsive by providing simpler data when full data is unavailable.
💼 Career
Understanding graceful degradation is important for backend developers and API designers to build reliable and user-friendly services.
Progress0 / 4 steps
1
DATA SETUP: Create the weather data dictionary
Create a dictionary called weather_data with these exact entries: 'temperature': 22, 'humidity': 60, and 'detailed_forecast': 'Sunny with light clouds'.
Rest API
Need a hint?

Use curly braces to create a dictionary and separate keys and values with colons.

2
CONFIGURATION: Add a flag for detailed data availability
Create a boolean variable called is_detailed_available and set it to False to simulate that detailed data is not available.
Rest API
Need a hint?

Use False to indicate the detailed data is not available.

3
CORE LOGIC: Write the function to return weather data with graceful degradation
Write a function called get_weather() that returns a dictionary with 'temperature' and 'humidity' always. If is_detailed_available is True, include 'detailed_forecast' from weather_data in the returned dictionary. Otherwise, return only the basic data.
Rest API
Need a hint?

Use an if statement inside the function to check is_detailed_available and add the detailed forecast if true.

4
OUTPUT: Print the weather data returned by the function
Write a print statement to display the result of calling get_weather().
Rest API
Need a hint?

Call get_weather() inside print() to show the output.