Bird
Raised Fist0
Rest APIprogramming~20 mins

GET for reading resources in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
GET Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this GET request example?

Consider this simple REST API GET request example using curl:

curl -X GET https://api.example.com/users/123

The server responds with JSON data about the user. What is the expected output if the user exists?

Rest API
{"id":123,"name":"Alice","email":"alice@example.com"}
A{"error":"User not found"}
B404 Not Found
C{"id":123,"name":"Alice","email":"alice@example.com"}
D500 Internal Server Error
Attempts:
2 left
💡 Hint

GET requests for existing resources usually return status 200 and the resource data.

🧠 Conceptual
intermediate
1:30remaining
Which HTTP status code indicates a successful GET request with no content?

When a GET request is successful but the server has no data to return, which HTTP status code is appropriate?

A204 No Content
B200 OK
C404 Not Found
D500 Internal Server Error
Attempts:
2 left
💡 Hint

Think about a success status that means 'no data' instead of 'data returned'.

🔧 Debug
advanced
2:30remaining
Why does this GET request code cause an error?

Look at this Python code snippet using requests library to GET a resource:

import requests
response = requests.get('https://api.example.com/items')
print(response.json()['data'])

The server returns JSON: {"items": [1,2,3]}. What error occurs and why?

ATypeError because response.json() returns a string, not a dict
BNo error, prints [1,2,3]
CConnectionError because the URL is invalid
DKeyError because 'data' key does not exist in the JSON response
Attempts:
2 left
💡 Hint

Check the keys in the JSON response and what the code tries to access.

📝 Syntax
advanced
2:00remaining
Which option correctly forms a GET request URL with query parameters?

You want to GET a list of products filtered by category 'books' and sorted by price ascending. Which URL is correct?

Ahttps://api.example.com/products?category=books&sort=price_asc
Bhttps://api.example.com/products/category=books&sort=price_asc
Chttps://api.example.com/products?category=books;sort=price_asc
Dhttps://api.example.com/products?category=books&sort=price-asc
Attempts:
2 left
💡 Hint

Query parameters start after '?' and are separated by '&'.

🚀 Application
expert
2:30remaining
What is the number of items returned by this GET request code?

Given this JavaScript fetch code:

const response = await fetch('https://api.example.com/tasks');
const data = await response.json();
console.log(data.tasks.length);

The server responds with JSON:

{"tasks": [{"id":1},{"id":2},{"id":3},{"id":4}]}

What is the output of the console.log statement?

Aundefined
B4
C3
DTypeError
Attempts:
2 left
💡 Hint

Count the number of objects inside the 'tasks' array in the JSON response.

Practice

(1/5)
1. What is the main purpose of a GET request in REST API?
easy
A. To read or fetch data from the server
B. To create new data on the server
C. To update existing data on the server
D. To delete data from the server

Solution

  1. Step 1: Understand the HTTP methods

    GET is one of the HTTP methods used in REST APIs. It is specifically designed to retrieve data without changing it.
  2. Step 2: Identify the purpose of GET

    GET requests fetch or read data from the server without modifying it, unlike POST, PUT, or DELETE.
  3. Final Answer:

    To read or fetch data from the server -> Option A
  4. Quick Check:

    GET = Read data [OK]
Hint: GET always fetches data without changing it [OK]
Common Mistakes:
  • Confusing GET with POST which creates data
  • Thinking GET deletes data
  • Assuming GET updates data
2. Which of the following is the correct syntax for a GET request URL to fetch a user with ID 5?
easy
A. POST /users/5
B. POST /users?id=5
C. GET /users/5
D. DELETE /users/5

Solution

  1. Step 1: Identify the HTTP method for reading

    GET is the correct method to read or fetch data, so the method must be GET.
  2. Step 2: Check the URL path for resource

    /users/5 is the typical RESTful path to get a user with ID 5. Other options use wrong HTTP methods.
  3. Final Answer:

    GET /users/5 -> Option C
  4. Quick Check:

    GET + resource path = correct syntax [OK]
Hint: GET method + resource path fetches data [OK]
Common Mistakes:
  • Using POST or DELETE instead of GET
  • Using query parameters incorrectly
  • Mixing HTTP methods and URLs
3. Given the following GET request URL: /products?category=books&limit=3, what does the server most likely return?
medium
A. All products without filtering
B. Products with category 'limit' and quantity 3
C. An error because of invalid query parameters
D. First 3 products in the books category

Solution

  1. Step 1: Analyze the query parameters

    The URL has two query parameters: category=books and limit=3, which filter products by category and limit the number returned.
  2. Step 2: Understand typical API behavior

    APIs commonly use 'category' to filter items and 'limit' to restrict the number of results returned.
  3. Final Answer:

    First 3 products in the books category -> Option D
  4. Quick Check:

    Query filters + limit = filtered limited results [OK]
Hint: Query params filter and limit results [OK]
Common Mistakes:
  • Ignoring query parameters and returning all data
  • Misreading 'limit' as a category
  • Assuming query causes error
4. Identify the error in this GET request example: GET /users/ with body {"id": 10}
medium
A. The URL is missing the user ID
B. GET requests should not have a body
C. The HTTP method should be POST
D. The JSON body is missing a field

Solution

  1. Step 1: Understand GET request rules

    GET requests do not send a body; they pass parameters via URL path or query string.
  2. Step 2: Check the given request

    The request has a JSON body, which is invalid for GET and ignored by most servers.
  3. Final Answer:

    GET requests should not have a body -> Option B
  4. Quick Check:

    GET = no body allowed [OK]
Hint: GET requests never include a body [OK]
Common Mistakes:
  • Adding body data to GET requests
  • Confusing GET with POST or PUT
  • Assuming URL must always include ID
5. You want to fetch a list of active users created after 2023-01-01 using a GET request. Which URL is the best choice?
hard
A. GET /users?status=active&created_after=2023-01-01
B. GET /users/active/2023-01-01
C. POST /users with body {"status":"active","created_after":"2023-01-01"}
D. GET /users {"status":"active","created_after":"2023-01-01"}

Solution

  1. Step 1: Choose correct HTTP method and URL format

    GET is used to read data. Query parameters are the standard way to filter resources in GET requests.
  2. Step 2: Analyze options for filtering

    GET /users?status=active&created_after=2023-01-01 uses query parameters to filter by status and creation date, which is the correct RESTful approach.
  3. Final Answer:

    GET /users?status=active&created_after=2023-01-01 -> Option A
  4. Quick Check:

    GET + query filters = correct usage [OK]
Hint: Use query parameters to filter GET requests [OK]
Common Mistakes:
  • Using POST instead of GET for reading
  • Putting filters in URL path incorrectly
  • Sending body with GET request
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