Bird
Raised Fist0
Rest APIprogramming~20 mins

Query parameters for filtering in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Query Filtering Master
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 REST API filtering example?

Consider a REST API endpoint that returns a list of products. The URL is /products?category=books&price_lt=20. The server filters products by category and price less than 20.

Given the following products data:

[{"id":1,"category":"books","price":15},{"id":2,"category":"books","price":25},{"id":3,"category":"electronics","price":10}]

What is the JSON response returned by the server?

A[{"id":1,"category":"books","price":15}]
B[{"id":1,"category":"books","price":15},{"id":2,"category":"books","price":25}]
C[{"id":3,"category":"electronics","price":10}]
D[]
Attempts:
2 left
💡 Hint

Remember the filter is for category 'books' and price less than 20.

🧠 Conceptual
intermediate
1:30remaining
Which query parameter correctly filters users by age greater than 30?

You want to filter users whose age is greater than 30 using query parameters in a REST API. Which of the following query parameters is the correct way to express this?

Aage>30
Bage=gt:30
Cage_gt=30
Dage_greater_than=30
Attempts:
2 left
💡 Hint

Look for the common convention using suffixes like '_gt' for greater than.

🔧 Debug
advanced
2:30remaining
Why does this filtering query return no results?

A REST API endpoint /items?color=red&size=medium is expected to return items that are red and medium size. But it returns an empty list. The database has items matching these filters.

What is the most likely cause?

AThe query parameters are case-sensitive and 'red' should be 'Red'.
BThe API treats multiple query parameters as OR instead of AND.
CThe API expects comma-separated values in a single parameter, not multiple parameters.
DThe database has no items with color 'red' and size 'medium'.
Attempts:
2 left
💡 Hint

Think about how multiple query parameters combine filters.

📝 Syntax
advanced
2:00remaining
Which query parameter syntax is invalid for filtering by date range?

You want to filter records between two dates using query parameters. Which of the following is NOT a valid syntax?

Adate=2023-01-01..2023-01-31
Bdate_gte=2023-01-01&date_lte=2023-01-31
Cdate_between=2023-01-01,2023-01-31
Ddate>=2023-01-01&date<=2023-01-31
Attempts:
2 left
💡 Hint

Check which characters are allowed in URL query parameters without encoding.

🚀 Application
expert
3:00remaining
How many items are returned by this complex filter?

An API endpoint /orders?status=shipped&total_gt=100&date_lt=2024-01-01 filters orders with status 'shipped', total greater than 100, and date before 2024-01-01.

Given the orders data:

[{"id":1,"status":"shipped","total":150,"date":"2023-12-15"},{"id":2,"status":"pending","total":200,"date":"2023-11-20"},{"id":3,"status":"shipped","total":90,"date":"2023-12-01"},{"id":4,"status":"shipped","total":120,"date":"2024-02-01"}]

How many orders match all filters?

A1
B2
C3
D0
Attempts:
2 left
💡 Hint

Check each order against all three conditions carefully.

Practice

(1/5)
1.

What is the main purpose of query parameters in a REST API URL?

easy
A. To update data on the server
B. To change the server settings
C. To filter or specify which data to return
D. To delete data from the server

Solution

  1. Step 1: Understand query parameters role

    Query parameters are added after a question mark in a URL to specify or filter data.
  2. Step 2: Identify their purpose in REST API

    They help clients ask for specific data subsets, making responses smaller and faster.
  3. Final Answer:

    To filter or specify which data to return -> Option C
  4. Quick Check:

    Query parameters = filter data [OK]
Hint: Query parameters filter data after '?' in URL [OK]
Common Mistakes:
  • Thinking query parameters change server settings
  • Confusing query parameters with request body
  • Assuming query parameters update or delete data
2.

Which of the following is the correct way to add two query parameters type=fruit and color=red to a REST API URL?

easy
A. api/items?type=fruit,color=red
B. api/items&type=fruit?color=red
C. api/items?type=fruit;color=red
D. api/items?type=fruit&color=red

Solution

  1. Step 1: Recall query parameter syntax

    Query parameters start with '?' and multiple parameters are joined with '&'.
  2. Step 2: Check each option's format

    api/items?type=fruit&color=red uses '?' then '&' correctly; others misuse separators or order.
  3. Final Answer:

    api/items?type=fruit&color=red -> Option D
  4. Quick Check:

    Use '?' then '&' between parameters [OK]
Hint: Start with '?' then join parameters with '&' [OK]
Common Mistakes:
  • Using '&' before '?'
  • Separating parameters with commas or semicolons
  • Mixing order of '?' and '&'
3.

Given the URL api/products?category=books&price_lt=20, what does the query parameter price_lt=20 most likely mean?

medium
A. Return products with price less than 20
B. Return products with price equal to 20
C. Return products with price greater than 20
D. Return products with price not equal to 20

Solution

  1. Step 1: Interpret the query parameter name

    The suffix '_lt' usually means 'less than' in filtering.
  2. Step 2: Apply meaning to the value

    price_lt=20 means filter products priced less than 20 units.
  3. Final Answer:

    Return products with price less than 20 -> Option A
  4. Quick Check:

    _lt means less than [OK]
Hint: _lt means less than, _gt means greater than [OK]
Common Mistakes:
  • Confusing _lt with equal or greater than
  • Ignoring suffix meaning in parameter names
  • Assuming price_lt filters prices equal to 20
4.

Identify the error in this URL used to filter users by age and city:
api/users?age=30&city;=NewYork

medium
A. The semicolon ';' is incorrectly used instead of '='
B. The '&' should be replaced with '?' between parameters
C. The city value should be URL encoded as 'New%20York'
D. The age parameter should be 'age_gt=30' to filter correctly

Solution

  1. Step 1: Check parameter separators and assignments

    Parameters are separated by '&' and assigned with '='. Here, 'city;=NewYork' uses ';' wrongly.
  2. Step 2: Confirm correct syntax

    The semicolon should be '=' to assign the value to 'city'.
  3. Final Answer:

    The semicolon ';' is incorrectly used instead of '=' -> Option A
  4. Quick Check:

    Use '=' to assign values, not ';' [OK]
Hint: Use '=' for assignment, '&' to separate parameters [OK]
Common Mistakes:
  • Using semicolon instead of equal sign
  • Replacing '&' with '?' between parameters
  • Not encoding spaces in values
5.

You want to filter a list of events to show only those happening in 2024 and located in either 'New York' or 'Los Angeles'. Which query parameter format correctly expresses this filter?

hard
A. api/events?year=2024&city=New York,Los Angeles
B. api/events?year=2024&city=New%20York&city=Los%20Angeles
C. api/events?year=2024&city=New York&city=Los Angeles
D. api/events?year=2024&city=New%20York|Los%20Angeles

Solution

  1. Step 1: Understand filtering multiple values for one parameter

    To filter by multiple cities, repeat the parameter with URL-encoded values.
  2. Step 2: Check URL encoding and parameter repetition

    api/events?year=2024&city=New%20York&city=Los%20Angeles repeats 'city' with URL-encoded spaces, which is standard practice.
  3. Final Answer:

    api/events?year=2024&city=New%20York&city=Los%20Angeles -> Option B
  4. Quick Check:

    Repeat parameters with URL encoding for multiple values [OK]
Hint: Repeat parameter with encoded values for multiple filters [OK]
Common Mistakes:
  • Using commas without encoding or server support
  • Not encoding spaces in city names
  • Using '|' which is not standard in URLs
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