Bird
Raised Fist0
Rest APIprogramming~20 mins

Request body structure in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Request Body 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 JSON request body?
Given this JSON request body sent to an API, what is the value of the "totalPrice" field after the server calculates it?
Rest API
{
  "items": [
    {"name": "apple", "quantity": 2, "price": 3},
    {"name": "banana", "quantity": 1, "price": 1}
  ],
  "totalPrice": 0
}
A7
B6
C5
D0
Attempts:
2 left
💡 Hint
Multiply quantity by price for each item and add them up.
🧠 Conceptual
intermediate
1:00remaining
Which HTTP method usually requires a request body?
Choose the HTTP method that typically sends data in the request body to create or update resources.
AGET
BHEAD
CDELETE
DPOST
Attempts:
2 left
💡 Hint
Think about sending new data to the server.
🔧 Debug
advanced
2:00remaining
What error will this JSON request body cause?
This JSON request body is sent to an API expecting a list of users. What error will the server likely return?
Rest API
{
  "users": {
    "name": "Alice",
    "age": 30
  }
}
AKeyError: 'users' not found
BSyntaxError: Invalid JSON format
CTypeError: Expected a list but got an object
DNo error, processed successfully
Attempts:
2 left
💡 Hint
The server expects a list but got a single object.
📝 Syntax
advanced
1:30remaining
Which JSON request body is syntactically correct?
Select the JSON request body that is valid and can be parsed without errors.
A{ user: { name: "Bob", age: 25 } }
B{ "user": { "name": "Bob", "age": 25 } }
C{ "user": { "name": "Bob", "age": 25, }
D{ "user": { "name": "Bob", "age": 25 }, }
Attempts:
2 left
💡 Hint
Look for trailing commas and missing quotes.
🚀 Application
expert
1:00remaining
How many items are in the 'products' list in this JSON request body?
Count the number of product objects inside the 'products' array in this JSON request body.
Rest API
{
  "products": [
    {"id": 1, "name": "Pen"},
    {"id": 2, "name": "Notebook"},
    {"id": 3, "name": "Eraser"},
    {"id": 4, "name": "Ruler"}
  ]
}
A4
B5
C3
D2
Attempts:
2 left
💡 Hint
Count each object inside the square brackets.

Practice

(1/5)
1. What is the main purpose of the request body in a REST API POST request?
easy
A. To define the HTTP method used
B. To send data from the client to the server
C. To specify the URL of the API endpoint
D. To set the server response status code

Solution

  1. Step 1: Understand the role of request body

    The request body contains the data sent by the client to the server, usually in POST or PUT requests.
  2. Step 2: Differentiate from other parts of the request

    The URL specifies the endpoint, the method defines the action, and the status code is part of the response, not the request body.
  3. Final Answer:

    To send data from the client to the server -> Option B
  4. Quick Check:

    Request body = data sent to server [OK]
Hint: Request body carries data sent to server in POST/PUT [OK]
Common Mistakes:
  • Confusing request body with URL or headers
  • Thinking request body sets HTTP method
  • Mixing request body with response status
2. Which of the following is the correct way to indicate JSON data in the request body header?
easy
A. Content-Type: text/plain
B. Content-Type: application/xml
C. Content-Type: application/json
D. Content-Type: multipart/form-data

Solution

  1. Step 1: Identify the header for JSON data

    The header Content-Type: application/json tells the server the body contains JSON formatted data.
  2. Step 2: Compare with other content types

    text/plain is plain text, multipart/form-data is for file uploads, and application/xml is for XML data.
  3. Final Answer:

    Content-Type: application/json -> Option C
  4. Quick Check:

    JSON header = application/json [OK]
Hint: Use application/json for JSON request bodies [OK]
Common Mistakes:
  • Using text/plain for JSON data
  • Forgetting to set Content-Type header
  • Using multipart/form-data without files
3. Given this JSON request body sent to an API:
{
  "name": "Alice",
  "age": 30
}

What will the server receive as the value of age?
medium
A. Undefined
B. "30" (string)
C. null
D. 30 (number)

Solution

  1. Step 1: Analyze the JSON data types

    The value for age is written as 30 without quotes, so it is a number, not a string.
  2. Step 2: Understand server parsing

    The server parses JSON and keeps numbers as numbers, so age will be the number 30.
  3. Final Answer:

    30 (number) -> Option D
  4. Quick Check:

    Unquoted numbers in JSON = number type [OK]
Hint: Numbers in JSON have no quotes, so parsed as numbers [OK]
Common Mistakes:
  • Assuming all JSON values are strings
  • Confusing number and string types
  • Ignoring JSON parsing rules
4. You send this request body:
{
  "username": "bob",
  "password": "1234"
}

But the server returns a 400 Bad Request error. What is a likely cause?
medium
A. Missing Content-Type header or wrong format
B. The username is too short
C. The password is numeric
D. The request method is GET

Solution

  1. Step 1: Check request headers and format

    A 400 Bad Request often means the server cannot parse the body, commonly due to missing or incorrect Content-Type header.
  2. Step 2: Evaluate other options

    Username length or password content usually cause validation errors, not 400 errors. GET requests do not have bodies, but the question implies a body was sent.
  3. Final Answer:

    Missing Content-Type header or wrong format -> Option A
  4. Quick Check:

    400 error often = bad or missing Content-Type [OK]
Hint: Always set correct Content-Type header to avoid 400 errors [OK]
Common Mistakes:
  • Ignoring Content-Type header
  • Assuming 400 means validation error
  • Confusing GET with POST request body
5. You want to send a nested JSON object in the request body to create a user with address info:
{
  "name": "Eve",
  "address": {
    "street": "123 Main St",
    "city": "Townsville"
  }
}

Which Content-Type header and body format should you use to ensure the server correctly understands this nested data?
hard
A. Content-Type: application/json with the JSON body as shown
B. Content-Type: text/plain with JSON body as string
C. Content-Type: application/x-www-form-urlencoded with nested keys
D. Content-Type: multipart/form-data with JSON inside a file

Solution

  1. Step 1: Identify correct header for nested JSON

    Nested JSON requires application/json Content-Type so the server parses the structure correctly.
  2. Step 2: Evaluate other formats

    text/plain treats body as plain text, application/x-www-form-urlencoded does not support nested objects well, and multipart/form-data is for files, not nested JSON.
  3. Final Answer:

    Content-Type: application/json with the JSON body as shown -> Option A
  4. Quick Check:

    Nested JSON needs application/json header [OK]
Hint: Use application/json header for nested JSON objects [OK]
Common Mistakes:
  • Using form-urlencoded for nested JSON
  • Sending JSON as plain text without header
  • Uploading JSON as file instead of body
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