Bird
Raised Fist0
Rest APIprogramming~20 mins

Filtering by field values in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
REST API 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 filter query?
Given an API endpoint that returns a list of users, the query ?age=30 filters users by age. What will be the JSON response if the database has users with ages 25, 30, and 35?
Rest API
GET /users?age=30

Response body:
A[{"id":1,"name":"Bob","age":25}]
B[{"id":1,"name":"Bob","age":25},{"id":2,"name":"Alice","age":30},{"id":3,"name":"Eve","age":35}]
C[{"id":2,"name":"Alice","age":30}]
D[]
Attempts:
2 left
💡 Hint
Filtering by age=30 returns only users with age exactly 30.
❓ Predict Output
intermediate
2:00remaining
What does this REST API filter return?
An API supports filtering products by price range using ?min_price=10&max_price=20. If products have prices 5, 10, 15, 20, and 25, which products are returned?
Rest API
GET /products?min_price=10&max_price=20

Response body:
A[{"id":3,"price":15}]
B[]
C[{"id":1,"price":5},{"id":2,"price":10},{"id":3,"price":15},{"id":4,"price":20},{"id":5,"price":25}]
D[{"id":2,"price":10},{"id":3,"price":15},{"id":4,"price":20}]
Attempts:
2 left
💡 Hint
The filter includes products with price between 10 and 20 inclusive.
🔧 Debug
advanced
2:00remaining
Why does this filter query return an error?
A REST API supports filtering users by status with ?status=active. The client sends ?status=activ and gets a 400 error. Why?
Rest API
GET /users?status=activ
AThe API expects exact status values; 'activ' is invalid and causes a 400 Bad Request.
BThe API does not support filtering by status, so any status query causes error.
CThe API expects status values in uppercase, so 'activ' is invalid.
DThe API requires status to be a number, not a string.
Attempts:
2 left
💡 Hint
Check if the filter value matches allowed values exactly.
❓ Predict Output
advanced
2:00remaining
What is the output of this complex filter query?
An API supports filtering orders by date range and status: ?start_date=2023-01-01&end_date=2023-01-31&status=shipped. Given orders with various dates and statuses, which orders are returned?
Rest API
GET /orders?start_date=2023-01-01&end_date=2023-01-31&status=shipped

Response body:
A[{"id":101,"date":"2023-01-05","status":"shipped"},{"id":102,"date":"2023-01-20","status":"shipped"}]
B[{"id":101,"date":"2023-01-05","status":"shipped"},{"id":103,"date":"2023-02-01","status":"shipped"}]
C[{"id":102,"date":"2023-01-20","status":"pending"}]
D[]
Attempts:
2 left
💡 Hint
Filters combine to return orders shipped in January 2023 only.
🧠 Conceptual
expert
3:00remaining
Which option best describes filtering by nested field values in REST APIs?
You want to filter a list of books by the author's country, where author is a nested object. Which approach is correct?
AFiltering nested fields is not possible in REST APIs; you must filter client-side.
BUse a query parameter like <code>?author.country=USA</code> if the API supports nested filtering.
CSend the entire author object in the query string to filter by country.
DUse a header to specify nested field filters instead of query parameters.
Attempts:
2 left
💡 Hint
Some APIs allow dot notation in query parameters for nested fields.

Practice

(1/5)
1. What does filtering by field values in a REST API usually do?
easy
A. Returns all data entries without any filtering
B. Deletes data entries that match the specified field values
C. Updates all data entries regardless of field values
D. Returns only the data entries that match the specified field values

Solution

  1. Step 1: Understand filtering purpose

    Filtering is used to get only data that matches certain criteria, not to delete or update.
  2. Step 2: Identify filtering effect

    Filtering by field values returns only entries matching those values.
  3. Final Answer:

    Returns only the data entries that match the specified field values -> Option D
  4. Quick Check:

    Filtering = Select matching data [OK]
Hint: Filtering narrows data to matching entries only [OK]
Common Mistakes:
  • Thinking filtering deletes data
  • Confusing filtering with updating data
  • Assuming filtering returns all data
2. Which of the following is the correct way to filter users by age 30 in a REST API URL?
easy
A. /users?age=30
B. /users/age=30
C. /users?filter=age>30
D. /users/age/30

Solution

  1. Step 1: Recognize query parameter syntax

    Filtering uses query parameters after ? with key=value pairs.
  2. Step 2: Match correct syntax

    /users?age=30 correctly filters users with age 30.
  3. Final Answer:

    /users?age=30 -> Option A
  4. Quick Check:

    Query param = ?key=value [OK]
Hint: Use ?field=value to filter in REST API URLs [OK]
Common Mistakes:
  • Using slashes instead of query parameters
  • Using incorrect filter syntax like > without API support
  • Missing the ? before query parameters
3. Given this API call: /products?category=books&available=true, what data will the API return?
medium
A. All products regardless of category or availability
B. Only products in the 'books' category that are available
C. Only products that are unavailable
D. Only products in the 'books' category regardless of availability

Solution

  1. Step 1: Analyze query parameters

    The URL filters products where category equals 'books' and available equals true.
  2. Step 2: Determine filtering effect

    Both conditions must be met, so only available books are returned.
  3. Final Answer:

    Only products in the 'books' category that are available -> Option B
  4. Quick Check:

    Multiple filters = AND condition [OK]
Hint: Multiple filters combine with AND by default [OK]
Common Mistakes:
  • Ignoring one of the filter conditions
  • Assuming filters combine with OR
  • Confusing availability true/false
4. You want to filter orders by status 'shipped' using /orders?status=shipped, but the API returns all orders. What is the likely problem?
medium
A. The query parameter should be ?state=shipped instead
B. The URL is missing a trailing slash
C. The API does not support filtering by 'status'
D. The filter value 'shipped' is case-sensitive and should be uppercase

Solution

  1. Step 1: Check API documentation for supported filters

    If 'status' is not a supported filter field, the API ignores it and returns all data.
  2. Step 2: Evaluate other options

    Changing parameter name or case only works if API supports it; trailing slash usually doesn't affect filtering.
  3. Final Answer:

    The API does not support filtering by 'status' -> Option C
  4. Quick Check:

    Unsupported filter = no effect [OK]
Hint: Check API docs for allowed filter fields first [OK]
Common Mistakes:
  • Assuming any field can be filtered
  • Changing URL format without docs
  • Ignoring case sensitivity without confirmation
5. You have an API endpoint /employees that supports filtering by department and active status. How would you get all active employees in the 'sales' department?
hard
A. /employees?department=sales&active=true
B. /employees?active=true,department=sales
C. /employees?department=sales|active=true
D. /employees?department=sales;active=true

Solution

  1. Step 1: Use correct query parameter syntax

    Query parameters are joined by & and use key=value pairs.
  2. Step 2: Combine filters for department and active status

    /employees?department=sales&active=true correctly filters active sales employees.
  3. Final Answer:

    /employees?department=sales&active=true -> Option A
  4. Quick Check:

    Use & to combine filters [OK]
Hint: Combine filters with & and key=value pairs [OK]
Common Mistakes:
  • Using | or ; instead of & to join filters
  • Mixing order of parameters incorrectly
  • Using invalid separators causing syntax errors
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